com.meterware.httpunit
Class Button

java.lang.Object
  extended by com.meterware.httpunit.FormControl
      extended by 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
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
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 instead
 boolean doEventScript(java.lang.String eventScript)
          optional do the event if it's defined
protected  boolean doOnClickSequence(int x, int y)
          the onClickSequence for this button
 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 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 it
 boolean 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 enabled
 void removeAttribute(java.lang.String name)
          remove the Attribute with the given name - by delegating to NodeUtils
 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)
           
 void throwDisabledException()
          throw an exception that I'm disbled
protected  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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 class FormControl

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 class FormControl

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 coordinate
y - - 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 class FormControl

addValues

protected void addValues(com.meterware.httpunit.protocol.ParameterProcessor processor,
                         java.lang.String characterSet)
                  throws java.io.IOException
Specified by:
addValues in class FormControl
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 interface HTMLElement
Overrides:
newScriptable in class FormControl

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 interface HTMLElement
Overrides:
getParentDelegate 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 © 2000-2008 Russell Gold. See license agreement for rights granted.