Package com.meterware.httpunit
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 TypeClassDescriptionclass
implementation of Scriptable input elements -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
FormControl
(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 void
protected void
claimUniqueValue
(List values) Sets this control to the next compatible value from the list, removing it from the list.protected final void
claimValueIsRequired
(List values, String value) Removes the specified required value from the list of values, throwing an exception if it is missing.boolean
Deprecated.since 1.7 - use doEventScript insteadboolean
doEventScript
(String eventScript) optional do the event if it's definedprotected boolean
Performs the 'onchange' event defined for this control.protected boolean
Performs the 'onClick' event defined for this control.protected boolean
Performs the 'onMouseDown' event defined for this control.protected boolean
Performs the 'onMouseUp' event defined for this control.protected String
emptyIfNull
(String value) getAttribute
(String name) get the Attribute with the given name - by delegating to NodeUtilsprotected String
getAttribute
(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 WebForm
getForm()
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 String
getType()
Return the type of the control, as seen from JavaScript.protected String
Returns the value of this control in the form.protected abstract String[]
Returns the current value(s) associated with this control.boolean
handleEvent
(String eventName) handle the event with the given name by getting the attribute and then executing the eventScript for itboolean
Returns true if this control is disabled, meaning that it will not send a value to the server as part of a request.boolean
isHidden()
Returns true if this control is hidden.protected boolean
Returns true if a single control can have multiple values.protected boolean
Returns true if this control is read-only.boolean
isSupportedAttribute
(String name) Returns true if this element may have an attribute with the specified name.Creates and returns a scriptable object for this control.void
removeAttribute
(String name) remove the Attribute with the given name - by delegating to NodeUtilsprotected void
reset()
Resets this control to its initial value.protected void
Deprecated.since 1.7 use doOnChangeEvent insteadprotected void
Deprecated.since 1.7 use doOnClickEvent insteadprotected void
Deprecated.since 1.7 use doOnMouseDownEvent insteadprotected void
Deprecated.since 1.7 use doOnMouseUpEvent insteadvoid
setAttribute
(String name, Object value) set the Attribute with the given name - by delegating to NodeUtilsvoid
setState
(boolean state) Sets the state of this boolean control.protected void
setValueAttribute
(String value) Sets the value of this control in the form.protected void
supportAttribute
(String name) void
toggle()
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:HTMLElement
Returns 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:
newScriptable
in 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
Removes the specified required value from the list of values, throwing an exception if it is missing. -
emptyIfNull
-
getID
Description copied from interface:HTMLElement
Returns the ID associated with this element. IDs are unique throughout the HTML document.- Specified by:
getID
in interfaceHTMLElement
-
getClassName
Description copied from interface:HTMLElement
Returns the class associated with this element.- Specified by:
getClassName
in interfaceHTMLElement
-
getTitle
Description copied from interface:HTMLElement
Returns the title associated with this element.- Specified by:
getTitle
in interfaceHTMLElement
-
getName
Description copied from interface:HTMLElement
Returns the name associated with this element.- Specified by:
getName
in interfaceHTMLElement
-
getScriptingHandler
Returns a scriptable object which can act as a proxy for this control.- Specified by:
getScriptingHandler
in 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:
doEvent
in 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:
doEventScript
in interfaceScriptingEventHandler
- Parameters:
eventScript
-- Returns:
- true if the script is empty or the result of the script
-
handleEvent
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 interfaceScriptingEventHandler
- Parameters:
eventName
-- Returns:
- the result of doEventScript
-
getText
Returns the text value of this block.- Specified by:
getText
in interfaceHTMLElement
-
getTagName
Description copied from interface:HTMLElement
Returns the tag name of this node.- Specified by:
getTagName
in interfaceHTMLElement
-
getAttribute
get the Attribute with the given name - by delegating to NodeUtils- Specified by:
getAttribute
in 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:
setAttribute
in 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:
removeAttribute
in interfaceHTMLElement
- Parameters:
name
- - the name of the attribute to remove
-
isSupportedAttribute
Description copied from interface:HTMLElement
Returns true if this element may have an attribute with the specified name.- Specified by:
isSupportedAttribute
in interfaceHTMLElement
-
getAttribute
-
getNode
Description copied from interface:HTMLElement
Returns the DOM node underlying this element.- Specified by:
getNode
in interfaceHTMLElement
-
supportAttribute
-