Class HtmlOption

    • Field Detail

      • TAG_NAME

        public static final java.lang.String TAG_NAME
        The HTML tag represented by this element.
        See Also:
        Constant Field Values
    • Method Detail

      • isSelected

        public boolean isSelected()
        Returns true if this option is currently selected.
        Returns:
        true if this option is currently selected
      • setSelected

        public Page setSelected​(boolean selected)
        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
      • insertBefore

        public void insertBefore​(DomNode newNode)
        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:
        insertBefore in class DomNode
        Parameters:
        newNode - the new node to insert
      • getEnclosingSelect

        public HtmlSelect getEnclosingSelect()
        Gets the enclosing select of this option.
        Returns:
        null if no select is found (for instance malformed HTML)
      • reset

        public void reset()
        Resets the option to its original selected state.
      • getSelectedAttribute

        public final java.lang.String getSelectedAttribute()
        Returns the value of the attribute selected. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Returns:
        the value of the attribute selected or an empty string if that attribute isn't defined.
      • 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()
        Returns true if the disabled attribute is set for this element. Note that this method always returns false when emulating IE, because IE does not allow individual options to be disabled.
        Specified by:
        isDisabled in interface DisabledElement
        Returns:
        true if the disabled attribute is set for this element (always false when emulating IE)
      • getDisabledAttribute

        public final java.lang.String getDisabledAttribute()
        Returns the value of the attribute disabled. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Specified by:
        getDisabledAttribute in interface DisabledElement
        Returns:
        the value of the attribute disabled or an empty string if that attribute isn't defined
      • getLabelAttribute

        public final java.lang.String getLabelAttribute()
        Returns the value of the attribute label. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Returns:
        the value of the attribute label or an empty string if that attribute isn't defined
      • setLabelAttribute

        public final void setLabelAttribute​(java.lang.String newLabel)
        Sets the value of the attribute label. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Parameters:
        newLabel - the value of the attribute label
      • getValueAttribute

        public final java.lang.String getValueAttribute()
        Returns the value of the attribute value. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Returns:
        the value of the attribute value
        See Also:
        initial value if value attribute is not set
      • setValueAttribute

        public final void setValueAttribute​(java.lang.String newValue)
        Sets the value of the attribute value. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Parameters:
        newValue - the value of the attribute value
      • mouseDown

        public Page mouseDown​(boolean shiftKey,
                              boolean ctrlKey,
                              boolean altKey,
                              int button)
        Selects the option if it's not already selected. Simulates clicking the mouse on this element, returning the page which this element's window contains after the mouse click. The returned page may or may not be the same as the original page, depending on JavaScript event handlers, etc.
        Overrides:
        mouseDown in class DomElement
        Parameters:
        shiftKey - true if SHIFT is pressed during the mouse click
        ctrlKey - true if CTRL is pressed during the mouse click
        altKey - true if ALT is pressed during the mouse click
        button - the button code, must be MouseEvent.BUTTON_LEFT, MouseEvent.BUTTON_MIDDLE or MouseEvent.BUTTON_RIGHT
        Returns:
        the page which this element's window contains after the mouse click
      • mouseUp

        public Page mouseUp​(boolean shiftKey,
                            boolean ctrlKey,
                            boolean altKey,
                            int button)
        Selects the option if it's not already selected. Simulates releasing the mouse click on this element, returning the page which this element's window contains after the mouse click release. The returned page may or may not be the same as the original page, depending on JavaScript event handlers, etc.
        Overrides:
        mouseUp in class DomElement
        Parameters:
        shiftKey - true if SHIFT is pressed during the mouse click release
        ctrlKey - true if CTRL is pressed during the mouse click release
        altKey - true if ALT is pressed during the mouse click release
        button - the button code, must be MouseEvent.BUTTON_LEFT, MouseEvent.BUTTON_MIDDLE or MouseEvent.BUTTON_RIGHT
        Returns:
        the page which this element's window contains after the mouse click release
      • click

        public <P extends Page> P click​(org.htmlunit.javascript.host.event.Event event,
                                        boolean shiftKey,
                                        boolean ctrlKey,
                                        boolean altKey,
                                        boolean ignoreVisibility)
                                 throws java.io.IOException
        INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
        Simulates clicking on this element, returning the page in the window that has the focus after the element has been clicked. Note that the returned page may or may not be the same as the original page, depending on the type of element being clicked, the presence of JavaScript action listeners, etc.
        Overrides:
        click in class DomElement
        Type Parameters:
        P - the page type
        Parameters:
        event - the click event used
        shiftKey - true if SHIFT is pressed during the click
        ctrlKey - true if CTRL is pressed during the click
        altKey - true if ALT is pressed during the click
        ignoreVisibility - whether to ignore visibility or not
        Returns:
        the page contained in the current window as returned by WebClient.getCurrentWindow()
        Throws:
        java.io.IOException - if an IO error occurs
      • doClickStateUpdate

        protected boolean doClickStateUpdate​(boolean shiftKey,
                                             boolean ctrlKey)
                                      throws java.io.IOException
        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:
        doClickStateUpdate in class DomElement
        Parameters:
        shiftKey - true if SHIFT is pressed
        ctrlKey - true if CTRL is pressed
        Returns:
        true if doClickFireEvent method has to be called later on (to signal, that the value was changed)
        Throws:
        java.io.IOException - if an IO error occurs
      • getEventTargetElement

        protected DomNode getEventTargetElement()
        Returns the event target element. This could be overridden by subclasses to have other targets. The default implementation returns 'this'.
        Overrides:
        getEventTargetElement in class DomElement
        Returns:
        the event target element.
      • isStateUpdateFirst

        protected boolean isStateUpdateFirst()
        Returns true if state updates should be done before onclick event handling. This method returns false by default, and is expected to be overridden to return true by derived classes like HtmlCheckBoxInput.
        Overrides:
        isStateUpdateFirst in class DomElement
        Returns:
        true if state updates should be done before onclick event handling
      • printOpeningTagContentAsXml

        protected void printOpeningTagContentAsXml​(java.io.PrintWriter printWriter)
        Prints the content between "<" and ">" (or "/>") in the output of the tag name and its attributes in XML format.
        Overrides:
        printOpeningTagContentAsXml in class DomElement
        Parameters:
        printWriter - the writer to print in
      • setText

        public void setText​(java.lang.String text)
        Sets the text for this HtmlOption.
        Parameters:
        text - the text
      • getText

        public java.lang.String getText()
        Gets the text.
        Returns:
        the text of this option.
      • mouseOver

        public Page 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. The returned page may or may not be the same as the original page, depending on JavaScript event handlers, etc.
        Overrides:
        mouseOver in class DomElement
        Parameters:
        shiftKey - true if SHIFT is pressed during the mouse move
        ctrlKey - true if CTRL is pressed during the mouse move
        altKey - true if ALT is pressed during the mouse move
        button - the button code, must be MouseEvent.BUTTON_LEFT, MouseEvent.BUTTON_MIDDLE or MouseEvent.BUTTON_RIGHT
        Returns:
        the page which this element's window contains after the mouse move
      • handles

        public boolean handles​(org.htmlunit.javascript.host.event.Event event)
        Indicates if the provided event can be applied to this node. Overwrite this.
        Overrides:
        handles in class HtmlElement
        Parameters:
        event - the event
        Returns:
        false if the event can't be applied
      • basicRemove

        protected void basicRemove()
        Cuts off all relationships this node has with siblings and parents.
        Overrides:
        basicRemove in class DomNode