Class HtmlOption
java.lang.Object
org.htmlunit.html.DomNode
org.htmlunit.html.DomNamespaceNode
org.htmlunit.html.DomElement
org.htmlunit.html.HtmlElement
org.htmlunit.html.HtmlOption
- All Implemented Interfaces:
Serializable, Cloneable, DisabledElement, Element, Node
Wrapper for the HTML element "option".
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class HtmlElement
HtmlElement.DisplayStyleNested classes/interfaces inherited from class DomElement
DomElement.ChildElementsIteratorNested classes/interfaces inherited from class DomNode
DomNode.ChildIterator, DomNode.DescendantElementsIterator<T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanstatic final StringThe HTML tag represented by this element.Fields inherited from class HtmlElement
ATTRIBUTE_CHECKED, ATTRIBUTE_REQUIRED, TAB_INDEX_OUT_OF_BOUNDSFields inherited from class DomElement
ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY, ID_ATTRIBUTE, NAME_ATTRIBUTE, SRC_ATTRIBUTE, TYPE_ATTRIBUTE, VALUE_ATTRIBUTEFields inherited from class DomNode
PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZEDFields inherited from interface DisabledElement
ATTRIBUTE_DISABLEDFields inherited from interface Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidCuts off all relationships this node has with siblings and parents.protected booleandoClickStateUpdate(boolean shiftKey, boolean ctrlKey) Selects the option if it's not already selected.INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Returns the default display style.final StringReturns the value of the attributedisabled.Gets the enclosing select of this option.final StringReturns the value of the attributelabel.final StringReturns the value of the attributeselected.getText()Gets the text.final StringReturns the value of the attributevalue.booleanIndicates if the provided event can be applied to this node.voidinsertBefore(DomNode newNode) Inserts the specified node as a new child node before this node into the child relationship this node is a part of.final booleanReturns whether this Option is selected by default.final booleanReturnstrueif the disabled attribute is set for this element.booleanReturnstrueif this option is currently selected.protected booleanReturnstrueif state updates should be done before onclick event handling.mouseOver(boolean shiftKey, boolean ctrlKey, boolean altKey, int button) Simulates moving the mouse over this element, returning the page which this element's window contains after the mouse move.protected voidprintOpeningTagContentAsXml(PrintWriter printWriter) Prints the content between "<" and ">" (or "/>") in the output of the tag name and its attributes in XML format.voidreset()Resets the option to its original selected state.final voidsetLabelAttribute(String newLabel) Sets the value of the attributelabel.setSelected(boolean selected) Sets the selected state of this option.private voidsetSelected(boolean selected, boolean invokeOnFocus, boolean isClick, boolean shiftKey, boolean ctrlKey) Sets the selected state of this option.voidsetSelectedFromJavaScript(boolean selected) INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Sets the selected state of this option.(package private) voidsetSelectedInternal(boolean selected) For internal use only.voidSets the text for this HtmlOption.final voidsetValueAttribute(String newValue) Sets the value of the attributevalue.Methods inherited from class HtmlElement
acceptChar, addHtmlAttributeChangeListener, appendChildIfNoneExists, checkChildHierarchy, cloneNode, detach, doType, doType, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, getCanonicalXPath, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getSrcAttributeNormalized, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, hasEventHandlers, isAltPressed, isAttributeCaseSensitive, isCtrlPressed, isDisplayed, isHidden, isOptional, isRequired, isRequiredSupported, isShiftPressed, isSubmittableByEnter, isValid, notifyAttributeChangeListeners, removeAttribute, removeChild, removeHtmlAttributeChangeListener, setAttributeNode, setAttributeNS, setOwningForm, setRequired, type, type, type, type, typeDoneMethods inherited from class DomElement
blur, click, click, click, click, click, dblClick, dblClick, doClickFireChangeEvent, doClickFireClickEvent, fireEvent, fireEvent, focus, getAttribute, getAttributeDirect, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getChildElementCount, getChildElements, getElementsByTagName, getElementsByTagNameImpl, getElementsByTagNameNS, getEventTargetElement, getFirstElementChild, getId, getLastElementChild, getNodeType, getQualifiedName, getSchemaTypeInfo, getStyleElement, getStyleElementCaseInSensitive, getStyleMap, getTagName, hasAttribute, hasAttributeNS, hasAttributes, isDisabledElementAndDisabled, isEmptyXmlTagExpanded, isMouseOver, matches, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseUp, mouseUp, preventDefault, printXml, propagateClickStateUpdateToParent, removeAttributeNode, removeAttributeNS, removeFocus, removeStyleAttribute, replaceStyleAttribute, rightClick, rightClick, setAttribute, setAttributeNodeNS, setAttributeNS, setDefaults, setId, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInnerHtml, setNodeValue, toString, writeStyleToElementMethods inherited from class DomNamespaceNode
getLocalName, getLowercaseName, getNamespaceURI, getPrefix, getQualifiedName, processImportNode, setPrefixMethods inherited from class DomNode
addCharacterDataChangeListener, addDomChangeListener, appendChild, asNormalizedText, asXml, closest, compareDocumentPosition, fireCharacterDataChanged, fireNodeAdded, fireNodeDeleted, getAncestors, getBaseURI, getByXPath, getByXPath, getChildNodes, getChildren, getDescendants, getDomElementDescendants, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstByXPath, getFirstChild, getHtmlElementDescendants, getHtmlPageOrNull, getIndex, getLastChild, getNextElementSibling, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousElementSibling, getPreviousSibling, getReadyState, getScriptableObject, getSelectorList, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, getVisibleText, hasChildNodes, hasFeature, insertBefore, isAncestorOf, isAncestorOfAny, isAttachedToPage, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, mayBeDisplayed, normalize, notifyIncorrectness, onAddedToDocumentFragment, onAddedToPage, onAllChildrenAddedToPage, parseHtmlSnippet, printChildrenAsXml, querySelector, querySelectorAll, quietlyRemoveAndMoveChildrenTo, remove, removeAllChildren, removeCharacterDataChangeListener, removeChild, removeDomChangeListener, replace, replaceChild, setEndLocation, setParentNode, setReadyState, setScriptableObject, setStartLocation, setTextContent, setUserDataMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Node
appendChild, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setPrefix, setTextContent, setUserData
-
Field Details
-
TAG_NAME
-
selected_
private boolean selected_
-
-
Constructor Details
-
HtmlOption
-
-
Method Details
-
isSelected
public boolean isSelected()Returnstrueif this option is currently selected.- Returns:
trueif this option is currently selected
-
setSelected
Sets the selected state of this option. This will possibly also change the selected properties of sibling option elements.- Parameters:
selected- true if this option should be selected- Returns:
- the page that occupies this window after this change is made (may or may not be the same as the original page)
-
setSelectedFromJavaScript
public void setSelectedFromJavaScript(boolean selected) INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Sets the selected state of this option. This will possibly also change the selected properties of sibling option elements.- Parameters:
selected- true if this option should be selected
-
setSelected
private void setSelected(boolean selected, boolean invokeOnFocus, boolean isClick, boolean shiftKey, boolean ctrlKey) Sets the selected state of this option. This will possibly also change the selected properties of sibling option elements.- Parameters:
selected- true if this option should be selectedinvokeOnFocus- whether to set focus or not.isClick- is mouse clickedshiftKey-trueif SHIFT is pressedctrlKey-trueif CTRL is pressed
-
insertBefore
Inserts the specified node as a new child node before this node into the child relationship this node is a part of. If the specified node is this node, this method is a no-op.- Overrides:
insertBeforein classDomNode- Parameters:
newNode- the new node to insert
-
getEnclosingSelect
Gets the enclosing select of this option.- Returns:
nullif no select is found (for instance malformed HTML)
-
reset
public void reset()Resets the option to its original selected state. -
getSelectedAttribute
-
isDefaultSelected
public final boolean isDefaultSelected()Returns whether this Option is selected by default. That is whether the "selected" attribute exists when the Option is constructed. This also determines the value of getSelectedAttribute() after a reset() on the form.- Returns:
- whether the option is selected by default
-
isDisabled
public final boolean isDisabled()Description copied from interface:DisabledElementReturnstrueif the disabled attribute is set for this element.- Specified by:
isDisabledin interfaceDisabledElement- Returns:
trueif the disabled attribute is set for this element
-
getDisabledAttribute
Returns the value of the attributedisabled. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Specified by:
getDisabledAttributein interfaceDisabledElement- Returns:
- the value of the attribute
disabledor an empty string if that attribute isn't defined
-
getLabelAttribute
-
setLabelAttribute
-
getValueAttribute
-
setValueAttribute
-
doClickStateUpdate
Selects the option if it's not already selected. This method implements the control state update part of the click action.The default implementation only calls doClickStateUpdate on parent's DomElement (if any). Subclasses requiring different behavior (like
HtmlSubmitInput) will override this method.- Overrides:
doClickStateUpdatein classDomElement- Parameters:
shiftKey-trueif SHIFT is pressedctrlKey-trueif CTRL is pressed- Returns:
- true if doClickFireEvent method has to be called later on (to signal, that the value was changed)
- Throws:
IOException- if an IO error occurs
-
isStateUpdateFirst
protected boolean isStateUpdateFirst()Returnstrueif state updates should be done before onclick event handling. This method returnsfalseby default, and is expected to be overridden to returntrueby derived classes likeHtmlCheckBoxInput.- Overrides:
isStateUpdateFirstin classDomElement- Returns:
trueif state updates should be done before onclick event handling
-
printOpeningTagContentAsXml
Prints the content between "<" and ">" (or "/>") in the output of the tag name and its attributes in XML format.- Overrides:
printOpeningTagContentAsXmlin classDomElement- Parameters:
printWriter- the writer to print in
-
setSelectedInternal
void setSelectedInternal(boolean selected) For internal use only. Sets/remove the selected attribute to reflect the select state- Parameters:
selected- the selected status
-
setText
-
getText
-
mouseOver
Simulates moving the mouse over this element, returning the page which this element's window contains after the mouse move. The returned page may or may not be the same as the original page, depending on JavaScript event handlers, etc.- Overrides:
mouseOverin classDomElement- Parameters:
shiftKey-trueif SHIFT is pressed during the mouse movectrlKey-trueif CTRL is pressed during the mouse movealtKey-trueif ALT is pressed during the mouse movebutton- the button code, must beMouseEvent.BUTTON_LEFT,MouseEvent.BUTTON_MIDDLEorMouseEvent.BUTTON_RIGHT- Returns:
- the page which this element's window contains after the mouse move
-
getDefaultStyleDisplay
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Returns the default display style.- Overrides:
getDefaultStyleDisplayin classHtmlElement- Returns:
- the default display style
-
handles
Indicates if the provided event can be applied to this node. Overwrite this.- Overrides:
handlesin classHtmlElement- Parameters:
event- the event- Returns:
falseif the event can't be applied
-
basicRemove
protected void basicRemove()Cuts off all relationships this node has with siblings and parents.- Overrides:
basicRemovein classDomNode
-