Class FormControl

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  FormControl.Scriptable
      implementation of Scriptable input elements
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected FormControl​(WebForm form, com.meterware.httpunit.dom.HTMLControl control)
      initialize the given form control from a Webform and a HTMLControl
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      protected abstract void addValues​(com.meterware.httpunit.protocol.ParameterProcessor processor, java.lang.String characterSet)  
      protected void claimUniqueValue​(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.
      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 doOnChangeEvent()
      Performs the 'onchange' event defined for this control.
      protected boolean doOnClickEvent()
      Performs the 'onClick' event defined for this control.
      protected boolean doOnMouseDownEvent()
      Performs the 'onMouseDown' event defined for this control.
      protected boolean doOnMouseUpEvent()
      Performs the 'onMouseUp' event defined for this control.
      protected java.lang.String emptyIfNull​(java.lang.String value)  
      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.
      protected 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.
      org.w3c.dom.Node getNode()
      Returns the DOM node underlying this element.
      java.lang.String[] getOptionValues()
      Returns the values permitted in this control.
      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.
      abstract java.lang.String getType()
      Return the type of the control, as seen from JavaScript.
      protected java.lang.String getValueAttribute()
      Returns the value of this control in the form.
      protected abstract 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 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 isMultiValued()
      Returns true if a single control can have multiple values.
      protected 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.
      ScriptableDelegate newScriptable()
      Creates and returns a scriptable object for this control.
      void removeAttribute​(java.lang.String name)
      remove the Attribute with the given name - by delegating to NodeUtils
      protected void reset()
      Resets this control to its initial value.
      protected void sendOnChangeEvent()
      Deprecated.
      since 1.7 use doOnChangeEvent instead
      protected void sendOnClickEvent()
      Deprecated.
      since 1.7 use doOnClickEvent instead
      protected void sendOnMouseDownEvent()
      Deprecated.
      since 1.7 use doOnMouseDownEvent instead
      protected void sendOnMouseUpEvent()
      Deprecated.
      since 1.7 use doOnMouseUpEvent instead
      void setAttribute​(java.lang.String name, java.lang.Object value)
      set the Attribute with the given name - by delegating to NodeUtils
      void setState​(boolean state)
      Sets the state of this boolean control.
      protected void setValueAttribute​(java.lang.String value)
      Sets the value of this control in the form.
      protected void supportAttribute​(java.lang.String name)  
      void toggle()
      Toggles the value of this control.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FormControl

        protected FormControl​(WebForm form,
                              com.meterware.httpunit.dom.HTMLControl control)
        initialize the given form control from a Webform and a HTMLControl
        Parameters:
        form -
        control -
    • Method Detail

      • getType

        public abstract java.lang.String getType()
        Return the type of the control, as seen from JavaScript.
      • getValues

        protected abstract java.lang.String[] getValues()
        Returns the current value(s) associated with this control. These values will be transmitted to the server if the control is 'successful'.
      • getForm

        protected final WebForm getForm()
      • getParentDelegate

        public ScriptableDelegate getParentDelegate()
        Description copied from interface: HTMLElement
        Returns the scriptable delegate which can provide the scriptable delegate for this element.
      • getOptionValues

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

        protected java.lang.String[] 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,
                                          java.lang.String characterSet)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • claimUniqueValue

        protected void claimUniqueValue​(java.util.List values)
        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 instead
        Performs 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 instead
        Performs 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 instead
        Performs 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 instead
        Performs the 'onMouseDown' event defined for this control.
      • doOnMouseDownEvent

        protected boolean doOnMouseDownEvent()
        Performs the 'onMouseDown' event defined for this control.
      • newScriptable

        public ScriptableDelegate 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 interface HTMLElement
      • getValueAttribute

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

        protected void setValueAttribute​(java.lang.String value)
        Sets the value of this control in the form.
      • 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.
      • emptyIfNull

        protected java.lang.String emptyIfNull​(java.lang.String value)
      • 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
      • 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)