com.gargoylesoftware.htmlunit.html
Class HtmlSelect

java.lang.Object
  extended by com.gargoylesoftware.htmlunit.html.DomNode
      extended by com.gargoylesoftware.htmlunit.html.DomNamespaceNode
          extended by com.gargoylesoftware.htmlunit.html.HtmlElement
              extended by com.gargoylesoftware.htmlunit.html.StyledElement
                  extended by com.gargoylesoftware.htmlunit.html.ClickableElement
                      extended by com.gargoylesoftware.htmlunit.html.FocusableElement
                          extended by com.gargoylesoftware.htmlunit.html.HtmlSelect
All Implemented Interfaces:
DisabledElement, SubmittableElement, java.io.Serializable, java.lang.Cloneable

public class HtmlSelect
extends FocusableElement
implements DisabledElement, SubmittableElement

Wrapper for the HTML element "select".

Version:
$Revision: 1.3 $
Author:
Mike Bowler, Mike J. Bresnahan, David K. Taylor, Christian Sell, David D. Kilzer, Marc Guillemot, Daniel Gredler, Ahmed Ashour
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
HtmlElement.MapEntryWrappingIterator
 
Field Summary
static java.lang.String TAG_NAME
 the HTML tag represented by this element
 
Fields inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY
 
Fields inherited from class com.gargoylesoftware.htmlunit.html.DomNode
PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZED
 
Method Summary
 DomNode appendDomChild(DomNode node)
 append a child node to the end of the current list
 void appendOption(HtmlOption newOption)
 Add a new option at the end.
 java.lang.String asText()
 Returns a text representation of this element that represents what would be visible to the user if this page was shown in a web browser.
 java.lang.String getDefaultValue()
 Returns the default value to use when this element gets reset, if applicable.
 java.lang.String getDisabledAttribute()
 Return the value of the attribute "disabled".
 java.lang.String getMultipleAttribute()
 Return the value of the attribute "multiple".
 java.lang.String getNameAttribute()
 Return the value of the attribute "name".
 java.lang.String getOnBlurAttribute()
 Return the value of the attribute "onblur".
 java.lang.String getOnChangeAttribute()
 Return the value of the attribute "onchange".
 java.lang.String getOnFocusAttribute()
 Return the value of the attribute "onfocus".
 HtmlOption getOption(int index)
 Return the indexed option.
 HtmlOption getOptionByValue(java.lang.String value)
 Return the HtmlOption object that corresponds to the specified value
 java.util.List getOptions()
 Return a List containing all the options
 int getOptionSize()
 Return the number of options
 java.util.List getSelectedOptions()
 Return a List containing all of the currently selected options.
 java.lang.String getSizeAttribute()
 Return the value of the attribute "size".
 KeyValuePair[] getSubmitKeyValuePairs()
 Return an array of KeyValuePairs that are the values that will be sent back to the server whenever the current form is submitted.
 java.lang.String getTabIndexAttribute()
 Return the value of the attribute "tabindex".
 boolean isDefaultChecked()
 Returns the default checked state to use when this element gets reset, if applicable. This implementation returns false; only checkboxes and radio buttons really care what the default checked value is.
 boolean isDisabled()
 Return true if the disabled attribute is set for this element.
 boolean isMultipleSelectEnabled()
 Return true if this select is using "multiple select"
 void removeOption(int index)
 Remove an option at the given index.
 void replaceOption(int index, HtmlOption newOption)
 Replace an option at the given index with a new option.
 void reset()
 Return the value of this element to what it was at the time the page was loaded.
 void setDefaultChecked(boolean defaultChecked)
 Sets the default checked state to use when this element gets reset, if applicable. This implementation is empty; only checkboxes and radio buttons really care what the default checked value is.
 void setDefaultValue(java.lang.String defaultValue)
 Sets the default value to use when this element gets reset, if applicable.
 void setOptionSize(int newLength)
 Remove options by reducing the "length" property.
 Page setSelectedAttribute(HtmlOption selectedOption, boolean isSelected)
 Set the "selected" state of the specified option.
 Page setSelectedAttribute(java.lang.String optionValue, boolean isSelected)
 Set the "selected" state of the specified option.
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.FocusableElement
blur, focus
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.ClickableElement
click, click, dblClick, dblClick, getLangAttribute, getOnClickAttribute, getOnDblClickAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getTextDirectionAttribute, getXmlLangAttribute
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.StyledElement
getClassAttribute, getIdAttribute, getStyleAttribute, getTitleAttribute
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
addHtmlAttributeChangeListener, appendChildIfNoneExists, cloneDomNode, fireEvent, fireEvent, getAttributeEntriesIterator, getAttributeValue, getChildElementsIterator, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getEventHandler, getHtmlElementById, getHtmlElementsByAttribute, getHtmlElementsByTagName, getHtmlElementsByTagNames, getId, getNodeName, getNodeType, getOneHtmlElementByAttribute, getTagName, hasHtmlElementWithId, isAttributeDefined, keyDown, keyDown, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, removeAttribute, removeChild, removeEventHandler, removeHtmlAttributeChangeListener, rightClick, rightClick, setAttributeValue, setEventHandler, setEventHandler, setId, toString
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNamespaceNode
getLocalName, getNamespaceURI, getPrefix, getQualifiedName, setPrefix
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNode
addDomChangeListener, asXml, getAllHtmlChildElements, getByXPath, getChildIterator, getEndColumnNumber, getEndLineNumber, getFirstDomChild, getLastDomChild, getNextDomSibling, getNodeValue, getPage, getParentDomNode, getPreviousDomSibling, getReadyState, getScriptObject, getStartColumnNumber, getStartLineNumber, insertBefore, remove, removeAllChildren, removeDomChangeListener, replace, setNodeValue, setReadyState, setScriptObject
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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

appendDomChild

public DomNode appendDomChild(DomNode node)
append a child node to the end of the current list

Overrides:
appendDomChild in class DomNode
Parameters:
node - the node to append
Returns:
the node added
See Also:
DomNode.appendDomChild(DomNode)

appendOption

public void appendOption(HtmlOption newOption)
Add a new option at the end.

Parameters:
newOption - The new option to add

asText

public java.lang.String asText()
Returns a text representation of this element that represents what would be visible to the user if this page was shown in a web browser. If the user can only select one option at a time, this method returns the selected option. If the user can select multiple options, this method returns all options.

Overrides:
asText in class DomNode
Returns:
The element as text.

getDefaultValue

public java.lang.String getDefaultValue()
Returns the default value to use when this element gets reset, if applicable.

Specified by:
getDefaultValue in interface SubmittableElement
Returns:
the default value to use when this element gets reset, if applicable.
See Also:
SubmittableElement.setDefaultValue(String)

getDisabledAttribute

public final java.lang.String getDisabledAttribute()
Return 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.

getMultipleAttribute

public final java.lang.String getMultipleAttribute()
Return the value of the attribute "multiple". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
The value of the attribute "multiple" or an empty string if that attribute isn't defined.

getNameAttribute

public final java.lang.String getNameAttribute()
Return the value of the attribute "name". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
The value of the attribute "name" or an empty string if that attribute isn't defined.

getOnBlurAttribute

public final java.lang.String getOnBlurAttribute()
Return the value of the attribute "onblur". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
The value of the attribute "onblur" or an empty string if that attribute isn't defined.

getOnChangeAttribute

public final java.lang.String getOnChangeAttribute()
Return the value of the attribute "onchange". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
The value of the attribute "onchange" or an empty string if that attribute isn't defined.

getOnFocusAttribute

public final java.lang.String getOnFocusAttribute()
Return the value of the attribute "onfocus". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
The value of the attribute "onfocus" or an empty string if that attribute isn't defined.

getOption

public HtmlOption getOption(int index)
Return the indexed option.

Parameters:
index - The index
Returns:
The option specified by the index

getOptionByValue

public HtmlOption getOptionByValue(java.lang.String value)
                            throws ElementNotFoundException
Return the HtmlOption object that corresponds to the specified value

Parameters:
value - The value to search by
Returns:
See above
Throws:
ElementNotFoundException - If a particular xml element could not be found in the dom model

getOptions

public java.util.List getOptions()
Return a List containing all the options

Returns:
See above

getOptionSize

public int getOptionSize()
Return the number of options

Returns:
The number of options

getSelectedOptions

public java.util.List getSelectedOptions()
Return a List containing all of the currently selected options. The following special conditions can occur if the element is in single select mode:

Returns:
See above

getSizeAttribute

public final java.lang.String getSizeAttribute()
Return the value of the attribute "size". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
The value of the attribute "size" or an empty string if that attribute isn't defined.

getSubmitKeyValuePairs

public KeyValuePair[] getSubmitKeyValuePairs()
Return an array of KeyValuePairs that are the values that will be sent back to the server whenever the current form is submitted.

THIS METHOD IS INTENDED FOR THE USE OF THE FRAMEWORK ONLY AND SHOULD NOT BE USED BY CONSUMERS OF HTMLUNIT. USE AT YOUR OWN RISK.

Specified by:
getSubmitKeyValuePairs in interface SubmittableElement
Returns:
See above

getTabIndexAttribute

public final java.lang.String getTabIndexAttribute()
Return the value of the attribute "tabindex". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
The value of the attribute "tabindex" or an empty string if that attribute isn't defined.

isDefaultChecked

public boolean isDefaultChecked()
Returns the default checked state to use when this element gets reset, if applicable. This implementation returns false; only checkboxes and radio buttons really care what the default checked value is.

Specified by:
isDefaultChecked in interface SubmittableElement
Returns:
The default checked state to use when this element gets reset, if applicable.
See Also:
SubmittableElement.isDefaultChecked(), HtmlRadioButtonInput.isDefaultChecked(), HtmlCheckBoxInput.isDefaultChecked()

isDisabled

public final boolean isDisabled()
Return true if the disabled attribute is set for this element.

Specified by:
isDisabled in interface DisabledElement
Returns:
Return true if this element is disabled.

isMultipleSelectEnabled

public boolean isMultipleSelectEnabled()
Return true if this select is using "multiple select"

Returns:
See above

removeOption

public void removeOption(int index)
Remove an option at the given index.

Parameters:
index - The index of the option to remove

replaceOption

public void replaceOption(int index,
                          HtmlOption newOption)
Replace an option at the given index with a new option.

Parameters:
index - The index of the option to remove
newOption - The new option to replace to indexed option

reset

public void reset()
Return the value of this element to what it was at the time the page was loaded.

Specified by:
reset in interface SubmittableElement

setDefaultChecked

public void setDefaultChecked(boolean defaultChecked)
Sets the default checked state to use when this element gets reset, if applicable. This implementation is empty; only checkboxes and radio buttons really care what the default checked value is.

Specified by:
setDefaultChecked in interface SubmittableElement
Parameters:
defaultChecked - The default checked state to use when this element gets reset, if applicable.
See Also:
SubmittableElement.setDefaultChecked(boolean), HtmlRadioButtonInput.setDefaultChecked(boolean), HtmlCheckBoxInput.setDefaultChecked(boolean)

setDefaultValue

public void setDefaultValue(java.lang.String defaultValue)
Sets the default value to use when this element gets reset, if applicable.

Specified by:
setDefaultValue in interface SubmittableElement
Parameters:
defaultValue - The default value to use when this element gets reset, if applicable.
See Also:
SubmittableElement.setDefaultValue(String)

setOptionSize

public void setOptionSize(int newLength)
Remove options by reducing the "length" property. This has no effect if the length is set to the same or greater.

Parameters:
newLength - The new length property value

setSelectedAttribute

public Page setSelectedAttribute(HtmlOption selectedOption,
                                 boolean isSelected)
Set the "selected" state of the specified option. If this "select" is single select then calling this will deselect all other options

Only options that are actually in the document may be selected. If you need to select an option that really isn't there (ie testing error cases) then use fakeSelectedAttribute(String) or fakeSelectedAttribute(String[]) instead.

Parameters:
isSelected - true if the option is to become selected
selectedOption - The value of the option that is to change
Returns:
The page that occupies this window after this change is made. It may be the same window or it may be a freshly loaded one.

setSelectedAttribute

public Page setSelectedAttribute(java.lang.String optionValue,
                                 boolean isSelected)
Set the "selected" state of the specified option. If this "select" is single select then calling this will deselect all other options

Only options that are actually in the document may be selected. If you need to select an option that really isn't there (ie testing error cases) then use fakeSelectedAttribute(String) or fakeSelectedAttribute(String[]) instead.

Parameters:
isSelected - true if the option is to become selected
optionValue - The value of the option that is to change
Returns:
The page that occupies this window after this change is made. It may be the same window or it may be a freshly loaded one.


Copyright © 2003-2016 AppPerfect Corporation. All Rights Reserved.