Package com.meterware.httpunit
Class Button
- java.lang.Object
-
- com.meterware.httpunit.FormControl
-
- com.meterware.httpunit.Button
-
- All Implemented Interfaces:
HTMLElement
,ScriptingEventHandler
- Direct Known Subclasses:
ResetButton
,SubmitButton
public class Button extends FormControl
A button in a form.- Author:
- Russell Gold
-
-
Field Summary
Fields Modifier and Type Field Description static HTMLElementPredicate
WITH_ID
static HTMLElementPredicate
WITH_LABEL
-
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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
addValues(com.meterware.httpunit.protocol.ParameterProcessor processor, java.lang.String characterSet)
void
click()
Performs the action associated with clicking this button after running any 'onClick' script.protected void
doButtonAction()
Perform the normal action of this button.protected void
doButtonAction(int x, int y)
Perform the normal action of this button.boolean
doEvent(java.lang.String eventScript)
Deprecated.since 1.7 - use doEventScript insteadboolean
doEventScript(java.lang.String eventScript)
optional do the event if it's definedprotected boolean
doOnClickSequence(int x, int y)
the onClickSequence for this buttonjava.lang.String
getAttribute(java.lang.String name)
get the Attribute with the given name - by delegating to NodeUtilsprotected 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
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.ScriptableDelegate
getParentDelegate()
Returns the scriptable delegate which can provide the scriptable delegate for this element.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
getValue()
Returns the value associated with this button.protected 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 itboolean
isDisabled()
Returns true if this button is disabled, meaning that it cannot be clicked.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
rememberEnableState()
remember wether the button was enabledvoid
removeAttribute(java.lang.String name)
remove the Attribute with the given name - by delegating to NodeUtilsvoid
setAttribute(java.lang.String name, java.lang.Object value)
set the Attribute with the given name - by delegating to NodeUtilsprotected void
supportAttribute(java.lang.String name)
void
throwDisabledException()
throw an exception that I'm disbledprotected void
verifyButtonEnabled()
verifyButtonEnabled-
Methods inherited from class com.meterware.httpunit.FormControl
claimUniqueValue, claimValueIsRequired, doOnChangeEvent, doOnClickEvent, doOnMouseDownEvent, doOnMouseUpEvent, emptyIfNull, getDisplayedOptions, getForm, getOptionValues, getValueAttribute, isHidden, isMultiValued, isReadOnly, reset, sendOnChangeEvent, sendOnClickEvent, sendOnMouseDownEvent, sendOnMouseUpEvent, setState, setValueAttribute, toggle
-
-
-
-
Field Detail
-
WITH_ID
public static final HTMLElementPredicate WITH_ID
-
WITH_LABEL
public static final HTMLElementPredicate WITH_LABEL
-
-
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 classFormControl
-
getValue
public java.lang.String getValue()
Returns the value associated with this button.
-
doOnClickSequence
protected boolean doOnClickSequence(int x, int y) throws java.io.IOException, org.xml.sax.SAXException
the onClickSequence for this button- Returns:
- true if the even was handled
- Throws:
java.io.IOException
org.xml.sax.SAXException
-
click
public void click() throws java.io.IOException, org.xml.sax.SAXException
Performs the action associated with clicking this button after running any 'onClick' script. For a submit button this typically submits the form.- Throws:
java.io.IOException
org.xml.sax.SAXException
-
rememberEnableState
public void rememberEnableState()
remember wether the button was enabled
-
verifyButtonEnabled
protected void verifyButtonEnabled()
verifyButtonEnabled
-
throwDisabledException
public void throwDisabledException()
throw an exception that I'm disbled
-
isDisabled
public boolean isDisabled()
Returns true if this button is disabled, meaning that it cannot be clicked.- Overrides:
isDisabled
in classFormControl
-
doButtonAction
protected void doButtonAction(int x, int y) throws java.io.IOException, org.xml.sax.SAXException
Perform the normal action of this button.- Parameters:
x
- - the x coordinatey
- - the y coordinate- Throws:
java.io.IOException
org.xml.sax.SAXException
-
doButtonAction
protected void doButtonAction() throws java.io.IOException, org.xml.sax.SAXException
Perform the normal action of this button. delegate to the x-y version- Throws:
java.io.IOException
org.xml.sax.SAXException
-
getValues
protected 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 classFormControl
-
addValues
protected void addValues(com.meterware.httpunit.protocol.ParameterProcessor processor, java.lang.String characterSet) throws java.io.IOException
- Specified by:
addValues
in classFormControl
- Throws:
java.io.IOException
-
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 interfaceHTMLElement
- Overrides:
newScriptable
in classFormControl
-
getParentDelegate
public ScriptableDelegate getParentDelegate()
Description copied from interface:HTMLElement
Returns the scriptable delegate which can provide the scriptable delegate for this element.- Specified by:
getParentDelegate
in interfaceHTMLElement
- Overrides:
getParentDelegate
in classFormControl
-
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 interfaceHTMLElement
-
getClassName
public java.lang.String getClassName()
Description copied from interface:HTMLElement
Returns the class associated with this element.- Specified by:
getClassName
in interfaceHTMLElement
-
getTitle
public java.lang.String getTitle()
Description copied from interface:HTMLElement
Returns the title associated with this element.- Specified by:
getTitle
in interfaceHTMLElement
-
getName
public java.lang.String getName()
Description copied from interface:HTMLElement
Returns the name associated with this element.- Specified by:
getName
in interfaceHTMLElement
-
getScriptingHandler
public ScriptingHandler getScriptingHandler()
Returns a scriptable object which can act as a proxy for this control.- Specified by:
getScriptingHandler
in 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:
doEvent
in 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:
doEventScript
in 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:ScriptingEventHandler
handle the event with the given name by getting the attribute and then executing the eventScript for it- Specified by:
handleEvent
in interfaceScriptingEventHandler
- Returns:
- the result of doEventScript
-
getText
public java.lang.String getText()
Returns the text value of this block.- Specified by:
getText
in interfaceHTMLElement
-
getTagName
public java.lang.String getTagName()
Description copied from interface:HTMLElement
Returns the tag name of this node.- Specified by:
getTagName
in interfaceHTMLElement
-
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 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:
setAttribute
in 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:
removeAttribute
in interfaceHTMLElement
- 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 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:HTMLElement
Returns the DOM node underlying this element.- Specified by:
getNode
in interfaceHTMLElement
-
supportAttribute
protected void supportAttribute(java.lang.String name)
-
-