Class WebTable

java.lang.Object
com.meterware.httpunit.WebTable
All Implemented Interfaces:
HTMLElement, ScriptingEventHandler

public class WebTable extends Object
This class represents a table in an HTML page.
Author:
Russell Gold, Benoit Xhenseval
  • Field Details

    • MATCH_FIRST_NONBLANK_CELL

      public static final HTMLElementPredicate MATCH_FIRST_NONBLANK_CELL
      Predicate to match the complete text of a table's first non-blank cell.
    • MATCH_FIRST_NONBLANK_CELL_PREFIX

      public static final HTMLElementPredicate MATCH_FIRST_NONBLANK_CELL_PREFIX
      Predicate to match a prefix of a table's first non-blank cell.
    • MATCH_SUMMARY

      public static final HTMLElementPredicate MATCH_SUMMARY
      Predicate to match a table's summary attribute.
    • MATCH_ID

      public static final HTMLElementPredicate MATCH_ID
      Predicate to match a table's ID.
  • Method Details

    • getRowCount

      public int getRowCount()
      Returns the number of rows in the table.
    • getColumnCount

      public int getColumnCount()
      Returns the number of columns in the table.
    • getCellAsText

      public String getCellAsText(int row, int column)
      Returns the contents of the specified table cell as text. The row and column numbers are zero-based.
      Throws:
      IndexOutOfBoundsException - if the specified cell numbers are not valid
    • getTableCell

      public TableCell getTableCell(int row, int column)
      Returns the contents of the specified table cell as text. The row and column numbers are zero-based.
      Throws:
      IndexOutOfBoundsException - if the specified cell numbers are not valid
    • getTableCellWithID

      public TableCell getTableCellWithID(String id)
      Returns the contents of the specified table cell with a given ID
      Returns:
      TableCell with given ID or null if ID is not found.
    • purgeEmptyCells

      public void purgeEmptyCells()
      Removes all rows and all columns from this table which have no visible text in them. patch [ 1117822 ] Patch for purgeEmptyCells() problem by Glen Stampoultzis
    • asText

      public String[][] asText()
      Returns a rendering of this table with all cells converted to text.
    • getSummary

      public String getSummary()
      Returns the summary attribute associated with this table.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • 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
    • getParentDelegate

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

      public TableRow[] getRows()
      Returns an array of rows for this table.
    • getID

      public 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 String getClassName()
      Description copied from interface: HTMLElement
      Returns the class associated with this element.
      Specified by:
      getClassName in interface HTMLElement
    • getTitle

      public String getTitle()
      Description copied from interface: HTMLElement
      Returns the title associated with this element.
      Specified by:
      getTitle in interface HTMLElement
    • getName

      public 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(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(String eventScript)
      optional do the event if it's defined
      Specified by:
      doEventScript in interface ScriptingEventHandler
      Parameters:
      eventScript -
      Returns:
      true if the script is empty or the result of the script
    • handleEvent

      public boolean handleEvent(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
      Parameters:
      eventName -
      Returns:
      the result of doEventScript
    • getText

      public String getText()
      Returns the text value of this block.
      Specified by:
      getText in interface HTMLElement
    • getTagName

      public String getTagName()
      Description copied from interface: HTMLElement
      Returns the tag name of this node.
      Specified by:
      getTagName in interface HTMLElement
    • getAttribute

      public String getAttribute(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(String name, 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(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(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 String getAttribute(String name, String defaultValue)
    • getNode

      public Node getNode()
      Description copied from interface: HTMLElement
      Returns the DOM node underlying this element.
      Specified by:
      getNode in interface HTMLElement
    • supportAttribute

      protected void supportAttribute(String name)