Package com.meterware.httpunit
Class WebTable
- java.lang.Object
-
- com.meterware.httpunit.WebTable
-
- All Implemented Interfaces:
HTMLElement,ScriptingEventHandler
public class WebTable extends java.lang.ObjectThis class represents a table in an HTML page.- Author:
- Russell Gold, Benoit Xhenseval
-
-
Field Summary
Fields Modifier and Type Field Description static HTMLElementPredicateMATCH_FIRST_NONBLANK_CELLPredicate to match the complete text of a table's first non-blank cell.static HTMLElementPredicateMATCH_FIRST_NONBLANK_CELL_PREFIXPredicate to match a prefix of a table's first non-blank cell.static HTMLElementPredicateMATCH_IDPredicate to match a table's ID.static HTMLElementPredicateMATCH_SUMMARYPredicate to match a table's summary attribute.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.String[][]asText()Returns a rendering of this table with all cells converted to text.booleandoEvent(java.lang.String eventScript)Deprecated.since 1.7 - use doEventScript insteadbooleandoEventScript(java.lang.String eventScript)optional do the event if it's definedjava.lang.StringgetAttribute(java.lang.String name)get the Attribute with the given name - by delegating to NodeUtilsprotected java.lang.StringgetAttribute(java.lang.String name, java.lang.String defaultValue)java.lang.StringgetCellAsText(int row, int column)Returns the contents of the specified table cell as text.java.lang.StringgetClassName()Returns the class associated with this element.intgetColumnCount()Returns the number of columns in the table.java.lang.StringgetID()Returns the ID associated with this element.java.lang.StringgetName()Returns the name associated with this element.org.w3c.dom.NodegetNode()Returns the DOM node underlying this element.ScriptableDelegategetParentDelegate()Returns the scriptable delegate which can provide the scriptable delegate for this element.intgetRowCount()Returns the number of rows in the table.TableRow[]getRows()Returns an array of rows for this table.ScriptingHandlergetScriptingHandler()Returns a scriptable object which can act as a proxy for this control.java.lang.StringgetSummary()Returns the summary attribute associated with this table.TableCellgetTableCell(int row, int column)Returns the contents of the specified table cell as text.TableCellgetTableCellWithID(java.lang.String id)Returns the contents of the specified table cell with a given IDjava.lang.StringgetTagName()Returns the tag name of this node.java.lang.StringgetText()Returns the text value of this block.java.lang.StringgetTitle()Returns the title associated with this element.booleanhandleEvent(java.lang.String eventName)handle the event with the given name by getting the attribute and then executing the eventScript for itbooleanisSupportedAttribute(java.lang.String name)Returns true if this element may have an attribute with the specified name.ScriptableDelegatenewScriptable()Creates and returns a scriptable object for this control.voidpurgeEmptyCells()Removes all rows and all columns from this table which have no visible text in them.voidremoveAttribute(java.lang.String name)remove the Attribute with the given name - by delegating to NodeUtilsvoidsetAttribute(java.lang.String name, java.lang.Object value)set the Attribute with the given name - by delegating to NodeUtilsprotected voidsupportAttribute(java.lang.String name)java.lang.StringtoString()
-
-
-
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()
- Overrides:
toStringin classjava.lang.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:
newScriptablein interfaceHTMLElement
-
getParentDelegate
public ScriptableDelegate getParentDelegate()
Description copied from interface:HTMLElementReturns 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:HTMLElementReturns the ID associated with this element. IDs are unique throughout the HTML document.- Specified by:
getIDin interfaceHTMLElement
-
getClassName
public java.lang.String getClassName()
Description copied from interface:HTMLElementReturns the class associated with this element.- Specified by:
getClassNamein interfaceHTMLElement
-
getTitle
public java.lang.String getTitle()
Description copied from interface:HTMLElementReturns the title associated with this element.- Specified by:
getTitlein interfaceHTMLElement
-
getName
public java.lang.String getName()
Description copied from interface:HTMLElementReturns the name associated with this element.- Specified by:
getNamein interfaceHTMLElement
-
getScriptingHandler
public ScriptingHandler getScriptingHandler()
Returns a scriptable object which can act as a proxy for this control.- Specified by:
getScriptingHandlerin interfaceHTMLElement
-
doEvent
public boolean doEvent(java.lang.String eventScript)
Deprecated.since 1.7 - use doEventScript insteadhandle the event that has the given script attached by compiling the eventScript as a function and executing it- Specified by:
doEventin interfaceScriptingEventHandler- 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:
doEventScriptin interfaceScriptingEventHandler- 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:ScriptingEventHandlerhandle the event with the given name by getting the attribute and then executing the eventScript for it- Specified by:
handleEventin interfaceScriptingEventHandler- Returns:
- the result of doEventScript
-
getText
public java.lang.String getText()
Returns the text value of this block.- Specified by:
getTextin interfaceHTMLElement
-
getTagName
public java.lang.String getTagName()
Description copied from interface:HTMLElementReturns the tag name of this node.- Specified by:
getTagNamein interfaceHTMLElement
-
getAttribute
public java.lang.String getAttribute(java.lang.String name)
get the Attribute with the given name - by delegating to NodeUtils- Specified by:
getAttributein interfaceHTMLElement- 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:
setAttributein interfaceHTMLElement- Parameters:
name- - the name of the attribute to setvalue- - 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:
removeAttributein interfaceHTMLElement- Parameters:
name- - the name of the attribute to remove
-
isSupportedAttribute
public boolean isSupportedAttribute(java.lang.String name)
Description copied from interface:HTMLElementReturns true if this element may have an attribute with the specified name.- Specified by:
isSupportedAttributein interfaceHTMLElement
-
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:HTMLElementReturns the DOM node underlying this element.- Specified by:
getNodein interfaceHTMLElement
-
supportAttribute
protected void supportAttribute(java.lang.String name)
-
-