Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.meterware.httpunit
Class Button  view Button download Button.java

java.lang.Object
  extended bycom.meterware.httpunit.HTMLElementBase
      extended bycom.meterware.httpunit.FormControl
          extended bycom.meterware.httpunit.Button
All Implemented Interfaces:
HTMLElement
Direct Known Subclasses:
ResetButton, SubmitButton

public class Button
extends FormControl

A button in a form.


Nested Class Summary
(package private)  class Button.Scriptable
           
 
Field Summary
private  WebResponse _baseResponse
           
private  java.lang.String _onClickEvent
           
static java.lang.String BUTTON_TYPE
           
static java.lang.String CHECKBOX_TYPE
           
static java.lang.String FILE_TYPE
           
static java.lang.String HIDDEN_TYPE
           
static java.lang.String IMAGE_BUTTON_TYPE
           
static java.lang.String MULTIPLE_TYPE
           
(package private) static java.lang.String[] NO_VALUE
           
static java.lang.String PASSWORD_TYPE
           
static java.lang.String RADIO_BUTTON_TYPE
           
static java.lang.String RESET_BUTTON_TYPE
           
static java.lang.String SINGLE_TYPE
           
static java.lang.String SUBMIT_BUTTON_TYPE
           
static java.lang.String TEXT_TYPE
           
static java.lang.String TEXTAREA_TYPE
           
static java.lang.String UNDEFINED_TYPE
           
static HTMLElementPredicate WITH_ID
           
static HTMLElementPredicate WITH_LABEL
           
 
Constructor Summary
(package private) Button(WebForm form)
           
(package private) Button(WebForm form, org.w3c.dom.Node node)
           
(package private) Button(WebResponse response, org.w3c.dom.Node node)
           
 
Method Summary
(package private)  void addValues(ParameterProcessor processor, java.lang.String characterSet)
           
(package private)  void claimRequiredValues(java.util.List values)
          Remove any required values for this control from the list, throwing an exception if they are missing.
(package private)  void claimUniqueValue(java.util.List values)
          Sets this control to the next compatible value from the list, removing it from the list.
(package private)  void claimUploadSpecification(java.util.List files)
          Specifies a file to be uploaded via this control.
(package private)  void claimValue(java.util.List values)
          Sets this control to the next compatible value from the list, removing it from the list.
protected  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.
 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  boolean doOnClickEvent()
          Does the 'onClick' event defined for this button.
 java.lang.String getAttribute(java.lang.String name)
          Returns the value of the attribute of this element with the specified name.
protected  java.lang.String getAttribute(java.lang.String name, java.lang.String defaultValue)
           
 java.lang.String getClassName()
          Returns the class associated with this element.
(package private) static java.lang.String[] getControlElementTags()
           
(package private)  java.lang.Object getDelegate()
          Returns either a single delegate object or potentially an array of delegates as needed, given the form control.
(package private)  java.lang.String[] getDisplayedOptions()
          Returns the list of values displayed by this control, if any.
protected  WebForm getForm()
           
 java.lang.String getID()
          Returns the ID associated with this element.
 java.lang.String getName()
          Returns the name associated with this element.
protected  org.w3c.dom.Node getNode()
           
 java.lang.String[] getOptionValues()
          Returns the values permitted in this control.
protected  com.meterware.httpunit.scripting.ScriptableDelegate getParentDelegate()
          Returns the scriptable delegate which can provide the scriptable delegate for this element.
 com.meterware.httpunit.scripting.ScriptableDelegate getScriptableDelegate()
          Returns a scriptable object which can act as a proxy for this control.
 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 getValueAttribute()
          Returns the default value of this control in the form.
(package private)  java.lang.String[] getValues()
          Returns the current value(s) associated with this control.
 boolean isDisabled()
          Returns true if this button is disabled, meaning that it cannot be clicked.
(package private)  boolean isExclusive()
          Returns true if only one control of this kind with this name can have a value.
(package private)  boolean isFileParameter()
          Returns true if this control accepts a file for upload.
(package private)  boolean isHidden()
          Returns true if this control is hidden.
(package private)  boolean isMultiValued()
          Returns true if a single control can have multiple values.
(package private)  boolean isReadOnly()
          Returns true if this control is read-only.
 boolean isSupportedAttribute(java.lang.String name)
          Returns true if this element may have an attribute with the specified name.
(package private)  boolean isTextControl()
          Returns true if this control accepts free-form text.
(package private) static FormControl newFormParameter(WebForm form, org.w3c.dom.Node node)
           
protected  com.meterware.httpunit.scripting.ScriptableDelegate newScriptable()
          Creates and returns a scriptable object for this control.
(package private) static com.meterware.httpunit.scripting.ScriptableDelegate newSelectionOption()
           
(package private)  void reset()
          Resets this control to its initial value.
protected  void sendOnChangeEvent()
          Performs the 'onChange' event defined for this control.
protected  void sendOnClickEvent()
          Performs the 'onClick' event defined for this control.
(package private)  void setDisabled(boolean disabled)
           
 void setState(boolean state)
          Sets the state of this boolean control.
protected  void supportAttribute(java.lang.String name)
           
 void toggle()
          Toggles the value of this control.
protected  void verifyButtonEnabled()
           
 
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

_onClickEvent

private java.lang.String _onClickEvent

_baseResponse

private WebResponse _baseResponse

NO_VALUE

static final java.lang.String[] NO_VALUE

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

Button

Button(WebForm form)

Button

Button(WebForm form,
       org.w3c.dom.Node node)

Button

Button(WebResponse response,
       org.w3c.dom.Node node)
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.


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.


verifyButtonEnabled

protected void verifyButtonEnabled()

isDisabled

public boolean isDisabled()
Returns true if this button is disabled, meaning that it cannot be clicked.

Overrides:
isDisabled in class FormControl

doOnClickEvent

protected final boolean doOnClickEvent()
Does the 'onClick' event defined for this button.


doButtonAction

protected void doButtonAction()
                       throws java.io.IOException,
                              org.xml.sax.SAXException
Perform the normal action of this button.


getValues

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

void addValues(ParameterProcessor processor,
               java.lang.String characterSet)
         throws java.io.IOException
Specified by:
addValues in class FormControl

newScriptable

protected com.meterware.httpunit.scripting.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.

Overrides:
newScriptable in class FormControl

getParentDelegate

protected com.meterware.httpunit.scripting.ScriptableDelegate getParentDelegate()
Description copied from class: HTMLElementBase
Returns the scriptable delegate which can provide the scriptable delegate for this element.

Overrides:
getParentDelegate in class FormControl

newSelectionOption

static com.meterware.httpunit.scripting.ScriptableDelegate newSelectionOption()

getDelegate

java.lang.Object getDelegate()
Returns either a single delegate object or potentially an array of delegates as needed, given the form control. This default implementation returns the scriptable delegate for the control.


getForm

protected final WebForm getForm()

getOptionValues

public java.lang.String[] getOptionValues()
Returns the values permitted in this control. Does not apply to text or file controls.


getDisplayedOptions

java.lang.String[] getDisplayedOptions()
Returns the list of values displayed by this control, if any.


isReadOnly

boolean isReadOnly()
Returns true if this control is read-only.


isHidden

boolean isHidden()
Returns true if this control is hidden.


setDisabled

void setDisabled(boolean disabled)

isTextControl

boolean isTextControl()
Returns true if this control accepts free-form text.


isExclusive

boolean isExclusive()
Returns true if only one control of this kind with this name can have a value. This is true for radio buttons.


isMultiValued

boolean isMultiValued()
Returns true if a single control can have multiple values.


isFileParameter

boolean isFileParameter()
Returns true if this control accepts a file for upload.


claimRequiredValues

void claimRequiredValues(java.util.List values)
Remove any required values for this control from the list, throwing an exception if they are missing.


claimValue

void claimValue(java.util.List values)
Sets this control to the next compatible value from the list, removing it from the list.


claimUniqueValue

void claimUniqueValue(java.util.List values)
Sets this control to the next compatible value from the list, removing it from the list.


claimUploadSpecification

void claimUploadSpecification(java.util.List files)
Specifies a file to be uploaded via this control.


reset

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()
Performs the 'onChange' event defined for this control.


sendOnClickEvent

protected void sendOnClickEvent()
Performs the 'onClick' event defined for this control.


getValueAttribute

protected java.lang.String getValueAttribute()
Returns the default value of this control in the form. If no value is specified, defaults to the empty string.


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.


getControlElementTags

static java.lang.String[] getControlElementTags()

newFormParameter

static FormControl newFormParameter(WebForm form,
                                    org.w3c.dom.Node node)

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

getScriptableDelegate

public com.meterware.httpunit.scripting.ScriptableDelegate getScriptableDelegate()
Returns a scriptable object which can act as a proxy for this control.

Specified by:
getScriptableDelegate in interface HTMLElement

getText

public java.lang.String getText()
Returns the text value of this block.

Specified by:
getText in interface HTMLElement

getAttribute

public java.lang.String getAttribute(java.lang.String name)
Description copied from interface: HTMLElement
Returns the value of the attribute of this element with the specified name. Returns the empty string if no such attribute exists.

Specified by:
getAttribute in interface HTMLElement

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

protected org.w3c.dom.Node getNode()

supportAttribute

protected void supportAttribute(java.lang.String name)