/* * Copyright (c) 2002-2018 Gargoyle Software Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.gargoylesoftware.htmlunit.html; import com.gargoylesoftware.htmlunit.SgmlPage; import com.gargoylesoftware.htmlunit.WebAssert; import com.gargoylesoftware.htmlunit.util.NameValuePair; import java.util.Map; /** * Wrapper for the HTML element "isindex". Note that this element has been deprecated in the HTML spec. * * @author <a href="mailto:[email protected]">Mike Bowler</a> * @author David K. Taylor * @author <a href="mailto:[email protected]">Christian Sell</a> * @author Daniel Gredler * @author Ahmed Ashour * @author Frank Danek */ public class HtmlIsIndex extends HtmlElement implements SubmittableElement { /** The HTML tag represented by this element. */ public static final String TAG_NAME = "isindex"; private String value_ = ""; /** * Creates an instance of HtmlIsIndex * * @param qualifiedName the qualified name of the element type to instantiate * @param page the HtmlPage that contains this element * @param attributes the initial attributes */ HtmlIsIndex(final String qualifiedName, final SgmlPage page, final Map<String, DomAttr> attributes) { super(qualifiedName, page, attributes); } /** * Sets the value that will be returned during submission of a form. * * @param newValue the value */ public void setValue(final String newValue) { WebAssert.notNull("newValue", newValue); value_ = newValue; } /** * Returns the value that would be send during submission of a form. * * @return the value */ public String getValue() { return value_; } /** * {@inheritDoc} */ @Override public NameValuePair[] getSubmitNameValuePairs() { return new NameValuePair[]{new NameValuePair(getPromptAttribute(), getValue())}; } /** * {@inheritDoc} * @see SubmittableElement#reset() */ @Override public void reset() { value_ = ""; } /** * {@inheritDoc} * @see SubmittableElement#setDefaultValue(String) */ @Override public void setDefaultValue(final String defaultValue) { // The reset() method does nothing, so this method doesn't have to, either. } /** * {@inheritDoc} * @see SubmittableElement#setDefaultValue(String) */ @Override public String getDefaultValue() { // The reset() method does nothing, so this method doesn't have to, either. return ""; } /** * {@inheritDoc} This implementation is empty; only checkboxes and radio buttons * really care what the default checked value is. * @see SubmittableElement#setDefaultChecked(boolean) * @see HtmlRadioButtonInput#setDefaultChecked(boolean) * @see HtmlCheckBoxInput#setDefaultChecked(boolean) */ @Override public void setDefaultChecked(final boolean defaultChecked) { // Empty. } /** * {@inheritDoc} This implementation returns {@code false}; only checkboxes and * radio buttons really care what the default checked value is. * @see SubmittableElement#isDefaultChecked() * @see HtmlRadioButtonInput#isDefaultChecked() * @see HtmlCheckBoxInput#isDefaultChecked() */ @Override public boolean isDefaultChecked() { return false; } /** * Returns the value of the attribute {@code prompt}. Refer to the * <a href='http://www.w3.org/TR/html401/'>HTML 4.01</a> * documentation for details on the use of this attribute. * * @return the value of the attribute {@code prompt} or an empty string if that attribute isn't defined */ public final String getPromptAttribute() { return getAttributeDirect("prompt"); } /** * {@inheritDoc} */ @Override public DisplayStyle getDefaultStyleDisplay() { return DisplayStyle.INLINE; } }