com.meterware.httpunit
Class WebTable

java.lang.Object
  extended bycom.meterware.httpunit.HTMLElementBase
      extended bycom.meterware.httpunit.WebTable
All Implemented Interfaces:
HTMLElement, ScriptingEventHandler

public class WebTable
extends com.meterware.httpunit.HTMLElementBase

This class represents a table in an HTML page.

Author:
Russell Gold, Benoit Xhenseval

Field Summary
static HTMLElementPredicate MATCH_FIRST_NONBLANK_CELL
          Predicate to match the complete text of a table's first non-blank cell.
static HTMLElementPredicate MATCH_FIRST_NONBLANK_CELL_PREFIX
          Predicate to match a prefix of a table's first non-blank cell.
static HTMLElementPredicate MATCH_ID
          Predicate to match a table's ID.
static HTMLElementPredicate MATCH_SUMMARY
          Predicate to match a table's summary attribute.
 
Method Summary
 java.lang.String[][] asText()
          Returns a rendering of this table with all cells converted to text.
 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
 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 getCellAsText(int row, int column)
          Returns the contents of the specified table cell as text.
 java.lang.String getClassName()
          Returns the class associated with this element.
 int getColumnCount()
          Returns the number of columns in the table.
 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.
 int getRowCount()
          Returns the number of rows in the table.
 TableRow[] getRows()
          Returns an array of rows for this table.
 ScriptingHandler getScriptingHandler()
          Returns a scriptable object which can act as a proxy for this control.
 java.lang.String getSummary()
          Returns the summary attribute associated with this table.
 TableCell getTableCell(int row, int column)
          Returns the contents of the specified table cell as text.
 TableCell getTableCellWithID(java.lang.String id)
          Returns the contents of the specified table cell with a given ID
 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.
 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 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 purgeEmptyCells()
          Removes all rows and all columns from this table which have no visible text in them.
 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)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

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 Detail

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 java.lang.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:
java.lang.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:
java.lang.IndexOutOfBoundsException - if the specified cell numbers are not valid

getTableCellWithID

public TableCell getTableCellWithID(java.lang.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 java.lang.String[][] asText()
Returns a rendering of this table with all cells converted to text.


getSummary

public java.lang.String getSummary()
Returns the summary attribute associated with this table.


toString

public java.lang.String toString()

newScriptable

public ScriptableDelegate newScriptable()
Description copied from class: com.meterware.httpunit.HTMLElementBase
Creates and returns a scriptable object for this control. Subclasses should override this if they use a different implementation of Scriptable.


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 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
Parameters:
eventScript -
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
Parameters:
eventName -
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.