com.meterware.httpunit.controls
Class SelectionFormControl

java.lang.Object
  extended by com.meterware.httpunit.FormControl
      extended by com.meterware.httpunit.controls.SelectionFormControl
All Implemented Interfaces:
HTMLElement, ScriptingEventHandler

public class SelectionFormControl
extends FormControl

FormControl for "Select" moved here by wf for testability and visibility see bugreport [ 1124057 ] Out of Bounds Exception should be avoided


Nested Class Summary
static class SelectionFormControl.Option
           
 class SelectionFormControl.Options
           
 
Field Summary
 
Fields inherited from class com.meterware.httpunit.FormControl
BUTTON_TYPE, CHECKBOX_TYPE, FILE_TYPE, HIDDEN_TYPE, IMAGE_BUTTON_TYPE, MULTIPLE_TYPE, PASSWORD_TYPE, RADIO_BUTTON_TYPE, RESET_BUTTON_TYPE, SINGLE_TYPE, SUBMIT_BUTTON_TYPE, TEXT_TYPE, TEXTAREA_TYPE, UNDEFINED_TYPE
 
Constructor Summary
SelectionFormControl(WebForm form, HTMLSelectElementImpl element)
           
 
Method Summary
protected  void addValues(ParameterProcessor processor, java.lang.String characterSet)
           
protected  void claimUniqueValue(java.util.List values)
          Sets this control to the next compatible value from the list, removing it from the list.
 boolean doEvent(java.lang.String eventScript)
          Deprecated. since 1.7 - use doEventScript instead
 boolean doEventScript(java.lang.String eventScript)
          optional do the event if it's defined
 java.lang.String getAttribute(java.lang.String name)
          get the Attribute with the given name - by delegating to NodeUtils
protected  java.lang.String getAttribute(java.lang.String name, java.lang.String defaultValue)
           
 java.lang.String getClassName()
          Returns the class associated with this element.
 java.lang.String[] getDisplayedOptions()
          Returns the list of values displayed by this control, if any.
 java.lang.String getID()
          Returns the ID associated with this element.
 java.lang.String getName()
          Returns the name associated with this element.
 org.w3c.dom.Node getNode()
          Returns the DOM node underlying this element.
 java.lang.String[] getOptionValues()
          Returns the values permitted in this control.
 ScriptingHandler getScriptingHandler()
          Returns a scriptable object which can act as a proxy for this control.
 java.lang.String getTagName()
          Returns the tag name of this node.
 java.lang.String getText()
          Returns the text value of this block.
 java.lang.String getTitle()
          Returns the title associated with this element.
 java.lang.String getType()
          Return the type of the control, as seen from JavaScript.
 java.lang.String[] getValues()
          Returns the current value(s) associated with this control.
 boolean handleEvent(java.lang.String eventName)
          handle the event with the given name by getting the attribute and then executing the eventScript for it
 boolean isMultiValued()
          Returns true if a single control can have multiple values.
 boolean isSupportedAttribute(java.lang.String name)
          Returns true if this element may have an attribute with the specified name.
 ScriptableDelegate newScriptable()
          Creates and returns a scriptable object for this control.
 void removeAttribute(java.lang.String name)
          remove the Attribute with the given name - by delegating to NodeUtils
protected  void reset()
          Resets this control to its initial value.
 void setAttribute(java.lang.String name, java.lang.Object value)
          set the Attribute with the given name - by delegating to NodeUtils
protected  void supportAttribute(java.lang.String name)
           
 
Methods inherited from class com.meterware.httpunit.FormControl
claimValueIsRequired, doOnChangeEvent, doOnClickEvent, doOnMouseDownEvent, doOnMouseUpEvent, emptyIfNull, getForm, getParentDelegate, getValueAttribute, isDisabled, isHidden, isReadOnly, sendOnChangeEvent, sendOnClickEvent, sendOnMouseDownEvent, sendOnMouseUpEvent, setState, setValueAttribute, toggle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SelectionFormControl

public SelectionFormControl(WebForm form,
                            HTMLSelectElementImpl element)
Method Detail

getType

public java.lang.String getType()
Description copied from class: FormControl
Return the type of the control, as seen from JavaScript.

Specified by:
getType in class FormControl

getValues

public java.lang.String[] getValues()
Description copied from class: FormControl
Returns the current value(s) associated with this control. These values will be transmitted to the server if the control is 'successful'.

Specified by:
getValues in class FormControl

getOptionValues

public java.lang.String[] getOptionValues()
Description copied from class: FormControl
Returns the values permitted in this control. Does not apply to text or file controls.

Overrides:
getOptionValues in class FormControl

getDisplayedOptions

public java.lang.String[] getDisplayedOptions()
Description copied from class: FormControl
Returns the list of values displayed by this control, if any.

Overrides:
getDisplayedOptions in class FormControl

isMultiValued

public boolean isMultiValued()
Returns true if a single control can have multiple values.

Overrides:
isMultiValued in class FormControl

newScriptable

public ScriptableDelegate newScriptable()
Description copied from class: FormControl
Creates and returns a scriptable object for this control. Subclasses should override this if they use a different implementation of Scriptable.

Specified by:
newScriptable in interface HTMLElement
Overrides:
newScriptable in class FormControl

addValues

protected void addValues(ParameterProcessor processor,
                         java.lang.String characterSet)
                  throws java.io.IOException
Specified by:
addValues in class FormControl
Throws:
java.io.IOException

claimUniqueValue

protected void claimUniqueValue(java.util.List values)
Description copied from class: FormControl
Sets this control to the next compatible value from the list, removing it from the list.

Overrides:
claimUniqueValue in class FormControl

reset

protected void reset()
Description copied from class: FormControl
Resets this control to its initial value.

Overrides:
reset in class FormControl

getID

public java.lang.String getID()
Description copied from interface: HTMLElement
Returns the ID associated with this element. IDs are unique throughout the HTML document.

Specified by:
getID in interface HTMLElement

getClassName

public java.lang.String getClassName()
Description copied from interface: HTMLElement
Returns the class associated with this element.

Specified by:
getClassName in interface HTMLElement

getTitle

public java.lang.String getTitle()
Description copied from interface: HTMLElement
Returns the title associated with this element.

Specified by:
getTitle in interface HTMLElement

getName

public java.lang.String getName()
Description copied from interface: HTMLElement
Returns the name associated with this element.

Specified by:
getName in interface HTMLElement

getScriptingHandler

public ScriptingHandler getScriptingHandler()
Returns a scriptable object which can act as a proxy for this control.

Specified by:
getScriptingHandler in interface HTMLElement

doEvent

public boolean doEvent(java.lang.String eventScript)
Deprecated. since 1.7 - use doEventScript instead

handle the event that has the given script attached by compiling the eventScript as a function and executing it

Specified by:
doEvent in interface ScriptingEventHandler
Parameters:
eventScript - - the script to use
Returns:
true if the script is empty or the result of the script

doEventScript

public boolean doEventScript(java.lang.String eventScript)
optional do the event if it's defined

Specified by:
doEventScript in interface ScriptingEventHandler
Returns:
true if the script is empty or the result of the script

handleEvent

public boolean handleEvent(java.lang.String eventName)
Description copied from interface: ScriptingEventHandler
handle the event with the given name by getting the attribute and then executing the eventScript for it

Specified by:
handleEvent in interface ScriptingEventHandler
Returns:
the result of doEventScript

getText

public java.lang.String getText()
Returns the text value of this block.

Specified by:
getText in interface HTMLElement

getTagName

public java.lang.String getTagName()
Description copied from interface: HTMLElement
Returns the tag name of this node.

Specified by:
getTagName in interface HTMLElement

getAttribute

public java.lang.String getAttribute(java.lang.String name)
get the Attribute with the given name - by delegating to NodeUtils

Specified by:
getAttribute in interface HTMLElement
Parameters:
name - - the name of the attribute to get
Returns:
the attribute

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
set the Attribute with the given name - by delegating to NodeUtils

Specified by:
setAttribute in interface HTMLElement
Parameters:
name - - the name of the attribute to set
value - - the value to set

removeAttribute

public void removeAttribute(java.lang.String name)
remove the Attribute with the given name - by delegating to NodeUtils

Specified by:
removeAttribute in interface HTMLElement
Parameters:
name - - the name of the attribute to remove

isSupportedAttribute

public boolean isSupportedAttribute(java.lang.String name)
Description copied from interface: HTMLElement
Returns true if this element may have an attribute with the specified name.

Specified by:
isSupportedAttribute in interface HTMLElement

getAttribute

protected java.lang.String getAttribute(java.lang.String name,
                                        java.lang.String defaultValue)

getNode

public org.w3c.dom.Node getNode()
Description copied from interface: HTMLElement
Returns the DOM node underlying this element.

Specified by:
getNode in interface HTMLElement

supportAttribute

protected void supportAttribute(java.lang.String name)


Copyright © 2011. All Rights Reserved.