Package com.meterware.httpunit
Class FormControl
- java.lang.Object
-
- com.meterware.httpunit.FormControl
-
- All Implemented Interfaces:
HTMLElement,ScriptingEventHandler
- Direct Known Subclasses:
Button,RadioButtonFormControl,RadioGroupFormControl
public abstract class FormControl extends java.lang.ObjectRepresents a control in an HTML form.- Author:
- Russell Gold
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classFormControl.Scriptableimplementation of Scriptable input elements
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringBUTTON_TYPEstatic java.lang.StringCHECKBOX_TYPEstatic java.lang.StringFILE_TYPEstatic java.lang.StringHIDDEN_TYPEstatic java.lang.StringIMAGE_BUTTON_TYPEstatic java.lang.StringMULTIPLE_TYPEstatic java.lang.StringPASSWORD_TYPEstatic java.lang.StringRADIO_BUTTON_TYPEstatic java.lang.StringRESET_BUTTON_TYPEstatic java.lang.StringSINGLE_TYPEstatic java.lang.StringSUBMIT_BUTTON_TYPEstatic java.lang.StringTEXT_TYPEstatic java.lang.StringTEXTAREA_TYPEstatic java.lang.StringUNDEFINED_TYPE
-
Constructor Summary
Constructors Modifier Constructor Description protectedFormControl(WebForm form, com.meterware.httpunit.dom.HTMLControl control)initialize the given form control from a Webform and a HTMLControl
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected abstract voidaddValues(com.meterware.httpunit.protocol.ParameterProcessor processor, java.lang.String characterSet)protected voidclaimUniqueValue(java.util.List values)Sets this control to the next compatible value from the list, removing it from the list.protected voidclaimValueIsRequired(java.util.List values, java.lang.String value)Removes the specified required value from the list of values, throwing an exception if it is missing.booleandoEvent(java.lang.String eventScript)Deprecated.since 1.7 - use doEventScript insteadbooleandoEventScript(java.lang.String eventScript)optional do the event if it's definedprotected booleandoOnChangeEvent()Performs the 'onchange' event defined for this control.protected booleandoOnClickEvent()Performs the 'onClick' event defined for this control.protected booleandoOnMouseDownEvent()Performs the 'onMouseDown' event defined for this control.protected booleandoOnMouseUpEvent()Performs the 'onMouseUp' event defined for this control.protected java.lang.StringemptyIfNull(java.lang.String value)java.lang.StringgetAttribute(java.lang.String name)get the Attribute with the given name - by delegating to NodeUtilsprotected java.lang.StringgetAttribute(java.lang.String name, java.lang.String defaultValue)java.lang.StringgetClassName()Returns the class associated with this element.protected java.lang.String[]getDisplayedOptions()Returns the list of values displayed by this control, if any.protected WebFormgetForm()java.lang.StringgetID()Returns the ID associated with this element.java.lang.StringgetName()Returns the name associated with this element.org.w3c.dom.NodegetNode()Returns the DOM node underlying this element.java.lang.String[]getOptionValues()Returns the values permitted in this control.ScriptableDelegategetParentDelegate()Returns the scriptable delegate which can provide the scriptable delegate for this element.ScriptingHandlergetScriptingHandler()Returns a scriptable object which can act as a proxy for this control.java.lang.StringgetTagName()Returns the tag name of this node.java.lang.StringgetText()Returns the text value of this block.java.lang.StringgetTitle()Returns the title associated with this element.abstract java.lang.StringgetType()Return the type of the control, as seen from JavaScript.protected java.lang.StringgetValueAttribute()Returns the value of this control in the form.protected abstract java.lang.String[]getValues()Returns the current value(s) associated with this control.booleanhandleEvent(java.lang.String eventName)handle the event with the given name by getting the attribute and then executing the eventScript for itbooleanisDisabled()Returns true if this control is disabled, meaning that it will not send a value to the server as part of a request.booleanisHidden()Returns true if this control is hidden.protected booleanisMultiValued()Returns true if a single control can have multiple values.protected booleanisReadOnly()Returns true if this control is read-only.booleanisSupportedAttribute(java.lang.String name)Returns true if this element may have an attribute with the specified name.ScriptableDelegatenewScriptable()Creates and returns a scriptable object for this control.voidremoveAttribute(java.lang.String name)remove the Attribute with the given name - by delegating to NodeUtilsprotected voidreset()Resets this control to its initial value.protected voidsendOnChangeEvent()Deprecated.since 1.7 use doOnChangeEvent insteadprotected voidsendOnClickEvent()Deprecated.since 1.7 use doOnClickEvent insteadprotected voidsendOnMouseDownEvent()Deprecated.since 1.7 use doOnMouseDownEvent insteadprotected voidsendOnMouseUpEvent()Deprecated.since 1.7 use doOnMouseUpEvent insteadvoidsetAttribute(java.lang.String name, java.lang.Object value)set the Attribute with the given name - by delegating to NodeUtilsvoidsetState(boolean state)Sets the state of this boolean control.protected voidsetValueAttribute(java.lang.String value)Sets the value of this control in the form.protected voidsupportAttribute(java.lang.String name)voidtoggle()Toggles the value of this control.
-
-
-
Field Detail
-
UNDEFINED_TYPE
public static final java.lang.String UNDEFINED_TYPE
- See Also:
- Constant Field Values
-
BUTTON_TYPE
public static final java.lang.String BUTTON_TYPE
- See Also:
- Constant Field Values
-
RESET_BUTTON_TYPE
public static final java.lang.String RESET_BUTTON_TYPE
- See Also:
- Constant Field Values
-
SUBMIT_BUTTON_TYPE
public static final java.lang.String SUBMIT_BUTTON_TYPE
- See Also:
- Constant Field Values
-
IMAGE_BUTTON_TYPE
public static final java.lang.String IMAGE_BUTTON_TYPE
- See Also:
- Constant Field Values
-
RADIO_BUTTON_TYPE
public static final java.lang.String RADIO_BUTTON_TYPE
- See Also:
- Constant Field Values
-
CHECKBOX_TYPE
public static final java.lang.String CHECKBOX_TYPE
- See Also:
- Constant Field Values
-
TEXT_TYPE
public static final java.lang.String TEXT_TYPE
- See Also:
- Constant Field Values
-
PASSWORD_TYPE
public static final java.lang.String PASSWORD_TYPE
- See Also:
- Constant Field Values
-
HIDDEN_TYPE
public static final java.lang.String HIDDEN_TYPE
- See Also:
- Constant Field Values
-
TEXTAREA_TYPE
public static final java.lang.String TEXTAREA_TYPE
- See Also:
- Constant Field Values
-
FILE_TYPE
public static final java.lang.String FILE_TYPE
- See Also:
- Constant Field Values
-
SINGLE_TYPE
public static final java.lang.String SINGLE_TYPE
- See Also:
- Constant Field Values
-
MULTIPLE_TYPE
public static final java.lang.String MULTIPLE_TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FormControl
protected FormControl(WebForm form, com.meterware.httpunit.dom.HTMLControl control)
initialize the given form control from a Webform and a HTMLControl- Parameters:
form-control-
-
-
Method Detail
-
getType
public abstract java.lang.String getType()
Return the type of the control, as seen from JavaScript.
-
getValues
protected abstract java.lang.String[] getValues()
Returns the current value(s) associated with this control. These values will be transmitted to the server if the control is 'successful'.
-
getForm
protected final WebForm getForm()
-
getParentDelegate
public ScriptableDelegate getParentDelegate()
Description copied from interface:HTMLElementReturns the scriptable delegate which can provide the scriptable delegate for this element.
-
getOptionValues
public java.lang.String[] getOptionValues()
Returns the values permitted in this control. Does not apply to text or file controls.
-
getDisplayedOptions
protected java.lang.String[] getDisplayedOptions()
Returns the list of values displayed by this control, if any.
-
isReadOnly
protected boolean isReadOnly()
Returns true if this control is read-only.
-
isHidden
public boolean isHidden()
Returns true if this control is hidden.
-
isDisabled
public boolean isDisabled()
Returns true if this control is disabled, meaning that it will not send a value to the server as part of a request.
-
isMultiValued
protected boolean isMultiValued()
Returns true if a single control can have multiple values.
-
addValues
protected abstract void addValues(com.meterware.httpunit.protocol.ParameterProcessor processor, java.lang.String characterSet) throws java.io.IOException- Throws:
java.io.IOException
-
claimUniqueValue
protected void claimUniqueValue(java.util.List values)
Sets this control to the next compatible value from the list, removing it from the list.
-
reset
protected void reset()
Resets this control to its initial value.
-
toggle
public void toggle()
Toggles the value of this control.
-
setState
public void setState(boolean state)
Sets the state of this boolean control.
-
sendOnChangeEvent
protected void sendOnChangeEvent()
Deprecated.since 1.7 use doOnChangeEvent insteadPerforms the 'onChange' event defined for this control.
-
doOnChangeEvent
protected boolean doOnChangeEvent()
Performs the 'onchange' event defined for this control.
-
sendOnClickEvent
protected void sendOnClickEvent()
Deprecated.since 1.7 use doOnClickEvent insteadPerforms the 'onClick' event defined for this control.
-
doOnClickEvent
protected boolean doOnClickEvent()
Performs the 'onClick' event defined for this control.
-
sendOnMouseUpEvent
protected void sendOnMouseUpEvent()
Deprecated.since 1.7 use doOnMouseUpEvent insteadPerforms the 'onMouseUp' event defined for this control.
-
doOnMouseUpEvent
protected boolean doOnMouseUpEvent()
Performs the 'onMouseUp' event defined for this control.
-
sendOnMouseDownEvent
protected void sendOnMouseDownEvent()
Deprecated.since 1.7 use doOnMouseDownEvent insteadPerforms the 'onMouseDown' event defined for this control.
-
doOnMouseDownEvent
protected boolean doOnMouseDownEvent()
Performs the 'onMouseDown' event defined for this control.
-
newScriptable
public ScriptableDelegate newScriptable()
Creates and returns a scriptable object for this control. Subclasses should override this if they use a different implementation of Scriptable.- Specified by:
newScriptablein interfaceHTMLElement
-
getValueAttribute
protected java.lang.String getValueAttribute()
Returns the value of this control in the form. If no value is specified, defaults to the empty string.
-
setValueAttribute
protected void setValueAttribute(java.lang.String value)
Sets the value of this control in the form.
-
claimValueIsRequired
protected final void claimValueIsRequired(java.util.List values, java.lang.String value)Removes the specified required value from the list of values, throwing an exception if it is missing.
-
emptyIfNull
protected java.lang.String emptyIfNull(java.lang.String value)
-
getID
public java.lang.String getID()
Description copied from interface:HTMLElementReturns the ID associated with this element. IDs are unique throughout the HTML document.- Specified by:
getIDin interfaceHTMLElement
-
getClassName
public java.lang.String getClassName()
Description copied from interface:HTMLElementReturns the class associated with this element.- Specified by:
getClassNamein interfaceHTMLElement
-
getTitle
public java.lang.String getTitle()
Description copied from interface:HTMLElementReturns the title associated with this element.- Specified by:
getTitlein interfaceHTMLElement
-
getName
public java.lang.String getName()
Description copied from interface:HTMLElementReturns the name associated with this element.- Specified by:
getNamein interfaceHTMLElement
-
getScriptingHandler
public ScriptingHandler getScriptingHandler()
Returns a scriptable object which can act as a proxy for this control.- Specified by:
getScriptingHandlerin interfaceHTMLElement
-
doEvent
public boolean doEvent(java.lang.String eventScript)
Deprecated.since 1.7 - use doEventScript insteadhandle the event that has the given script attached by compiling the eventScript as a function and executing it- Specified by:
doEventin interfaceScriptingEventHandler- 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:
doEventScriptin interfaceScriptingEventHandler- 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:ScriptingEventHandlerhandle the event with the given name by getting the attribute and then executing the eventScript for it- Specified by:
handleEventin interfaceScriptingEventHandler- Returns:
- the result of doEventScript
-
getText
public java.lang.String getText()
Returns the text value of this block.- Specified by:
getTextin interfaceHTMLElement
-
getTagName
public java.lang.String getTagName()
Description copied from interface:HTMLElementReturns the tag name of this node.- Specified by:
getTagNamein interfaceHTMLElement
-
getAttribute
public java.lang.String getAttribute(java.lang.String name)
get the Attribute with the given name - by delegating to NodeUtils- Specified by:
getAttributein interfaceHTMLElement- 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:
setAttributein interfaceHTMLElement- Parameters:
name- - the name of the attribute to setvalue- - 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:
removeAttributein interfaceHTMLElement- Parameters:
name- - the name of the attribute to remove
-
isSupportedAttribute
public boolean isSupportedAttribute(java.lang.String name)
Description copied from interface:HTMLElementReturns true if this element may have an attribute with the specified name.- Specified by:
isSupportedAttributein interfaceHTMLElement
-
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:HTMLElementReturns the DOM node underlying this element.- Specified by:
getNodein interfaceHTMLElement
-
supportAttribute
protected void supportAttribute(java.lang.String name)
-
-