Class FormControl
java.lang.Object
com.meterware.httpunit.FormControl
- All Implemented Interfaces:
HTMLElement, ScriptingEventHandler
- Direct Known Subclasses:
Button, RadioButtonFormControl, RadioGroupFormControl
Represents a control in an HTML form.
- Author:
- Russell Gold
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassimplementation of Scriptable input elements -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final String -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedFormControl(WebForm form, com.meterware.httpunit.dom.HTMLControl control) initialize the given form control from a Webform and a HTMLControl -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidprotected voidclaimUniqueValue(List values) Sets this control to the next compatible value from the list, removing it from the list.protected final voidclaimValueIsRequired(List values, String value) Removes the specified required value from the list of values, throwing an exception if it is missing.booleanDeprecated.since 1.7 - use doEventScript insteadbooleandoEventScript(String eventScript) optional do the event if it's definedprotected booleanPerforms the 'onchange' event defined for this control.protected booleanPerforms the 'onClick' event defined for this control.protected booleanPerforms the 'onMouseDown' event defined for this control.protected booleanPerforms the 'onMouseUp' event defined for this control.protected StringemptyIfNull(String value) getAttribute(String name) get the Attribute with the given name - by delegating to NodeUtilsprotected StringgetAttribute(String name, String defaultValue) Returns the class associated with this element.protected String[]Returns the list of values displayed by this control, if any.protected final WebFormgetForm()getID()Returns the ID associated with this element.getName()Returns the name associated with this element.getNode()Returns the DOM node underlying this element.String[]Returns the values permitted in this control.Returns the scriptable delegate which can provide the scriptable delegate for this element.Returns a scriptable object which can act as a proxy for this control.Returns the tag name of this node.getText()Returns the text value of this block.getTitle()Returns the title associated with this element.abstract StringgetType()Return the type of the control, as seen from JavaScript.protected StringReturns the value of this control in the form.protected abstract String[]Returns the current value(s) associated with this control.booleanhandleEvent(String eventName) handle the event with the given name by getting the attribute and then executing the eventScript for itbooleanReturns 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 booleanReturns true if a single control can have multiple values.protected booleanReturns true if this control is read-only.booleanisSupportedAttribute(String name) Returns true if this element may have an attribute with the specified name.Creates and returns a scriptable object for this control.voidremoveAttribute(String name) remove the Attribute with the given name - by delegating to NodeUtilsprotected voidreset()Resets this control to its initial value.protected voidDeprecated.since 1.7 use doOnChangeEvent insteadprotected voidDeprecated.since 1.7 use doOnClickEvent insteadprotected voidDeprecated.since 1.7 use doOnMouseDownEvent insteadprotected voidDeprecated.since 1.7 use doOnMouseUpEvent insteadvoidsetAttribute(String name, Object value) set the Attribute with the given name - by delegating to NodeUtilsvoidsetState(boolean state) Sets the state of this boolean control.protected voidsetValueAttribute(String value) Sets the value of this control in the form.protected voidsupportAttribute(String name) voidtoggle()Toggles the value of this control.
-
Field Details
-
UNDEFINED_TYPE
- See Also:
-
BUTTON_TYPE
- See Also:
-
RESET_BUTTON_TYPE
- See Also:
-
SUBMIT_BUTTON_TYPE
- See Also:
-
IMAGE_BUTTON_TYPE
- See Also:
-
RADIO_BUTTON_TYPE
- See Also:
-
CHECKBOX_TYPE
- See Also:
-
TEXT_TYPE
- See Also:
-
PASSWORD_TYPE
- See Also:
-
HIDDEN_TYPE
- See Also:
-
TEXTAREA_TYPE
- See Also:
-
FILE_TYPE
- See Also:
-
SINGLE_TYPE
- See Also:
-
MULTIPLE_TYPE
- See Also:
-
-
Constructor Details
-
FormControl
initialize the given form control from a Webform and a HTMLControl- Parameters:
form-control-
-
-
Method Details
-
getType
Return the type of the control, as seen from JavaScript. -
getValues
Returns the current value(s) associated with this control. These values will be transmitted to the server if the control is 'successful'. -
getForm
-
getParentDelegate
Description copied from interface:HTMLElementReturns the scriptable delegate which can provide the scriptable delegate for this element. -
getOptionValues
Returns the values permitted in this control. Does not apply to text or file controls. -
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, String characterSet) throws IOException - Throws:
IOException
-
claimUniqueValue
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
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
Returns the value of this control in the form. If no value is specified, defaults to the empty string. -
setValueAttribute
Sets the value of this control in the form. -
claimValueIsRequired
-
emptyIfNull
-
getID
Description copied from interface:HTMLElementReturns the ID associated with this element. IDs are unique throughout the HTML document.- Specified by:
getIDin interfaceHTMLElement
-
getClassName
Description copied from interface:HTMLElementReturns the class associated with this element.- Specified by:
getClassNamein interfaceHTMLElement
-
getTitle
Description copied from interface:HTMLElementReturns the title associated with this element.- Specified by:
getTitlein interfaceHTMLElement
-
getName
Description copied from interface:HTMLElementReturns the name associated with this element.- Specified by:
getNamein interfaceHTMLElement
-
getScriptingHandler
Returns a scriptable object which can act as a proxy for this control.- Specified by:
getScriptingHandlerin interfaceHTMLElement
-
doEvent
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
optional do the event if it's defined- Specified by:
doEventScriptin interfaceScriptingEventHandler- Parameters:
eventScript-- Returns:
- true if the script is empty or the result of the script
-
handleEvent
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- Parameters:
eventName-- Returns:
- the result of doEventScript
-
getText
Returns the text value of this block.- Specified by:
getTextin interfaceHTMLElement
-
getTagName
Description copied from interface:HTMLElementReturns the tag name of this node.- Specified by:
getTagNamein interfaceHTMLElement
-
getAttribute
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
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
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
Description copied from interface:HTMLElementReturns true if this element may have an attribute with the specified name.- Specified by:
isSupportedAttributein interfaceHTMLElement
-
getAttribute
-
getNode
Description copied from interface:HTMLElementReturns the DOM node underlying this element.- Specified by:
getNodein interfaceHTMLElement
-
supportAttribute
-