Class HtmlTable

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, org.w3c.dom.Element, org.w3c.dom.Node

    public class HtmlTable
    extends HtmlElement
    Wrapper for the HTML element "table".
    See Also:
    Serialized Form
    • Field Detail

      • TAG_NAME

        public static final java.lang.String TAG_NAME
        The HTML tag represented by this element.
        See Also:
        Constant Field Values
    • Method Detail

      • getCellAt

        public final HtmlTableCell getCellAt​(int rowIndex,
                                             int columnIndex)
        Returns the first cell that matches the specified row and column, searching left to right, top to bottom.

        This method returns different values than getRow(rowIndex).getCell(cellIndex) because this takes cellspan and rowspan into account.
        This means, a cell with colspan='2' consumes two columns; a cell with rowspan='3' consumes three rows. The index is based on the 'background' model of the table; if you have a row like
        <td>cell1</td> <td colspan='2'>cell2</td> then this row is treated as a row with three cells.

        getCellAt(rowIndex, 0).asText() returns "cell1";
        getCellAt(rowIndex, 1).asText() returns "cell2";
        getCellAt(rowIndex, 2).asText() returns "cell2"; and
        getCellAt(rowIndex, 3).asText() returns null;

        Parameters:
        rowIndex - the row index
        columnIndex - the column index
        Returns:
        the HtmlTableCell at that location or null if there are no cells at that location
      • getRows

        public java.util.List<HtmlTableRow> getRows()
        Returns:
        an immutable list containing all the HtmlTableRow objects
        See Also:
        getRowIterator()
      • getRow

        public HtmlTableRow getRow​(int index)
                            throws java.lang.IndexOutOfBoundsException
        Parameters:
        index - the 0-based index of the row
        Returns:
        the HtmlTableRow at the given index
        Throws:
        java.lang.IndexOutOfBoundsException - if there is no row at the given index
        See Also:
        getRowIterator()
      • getRowCount

        public final int getRowCount()
        Computes the number of rows in this table. Note that the count is computed dynamically by iterating over all rows.
        Returns:
        the number of rows in this table
      • getCaptionText

        public java.lang.String getCaptionText()
        Returns the table caption text or an empty string if a caption wasn't specified.
        Returns:
        the caption text
      • getHeader

        public HtmlTableHeader getHeader()
        Returns the table header or null if a header wasn't specified.
        Returns:
        the table header
      • getFooter

        public HtmlTableFooter getFooter()
        Returns the table footer or null if a footer wasn't specified.
        Returns:
        the table footer
      • getBodies

        public java.util.List<HtmlTableBody> getBodies()
        Returns a list of tables bodies defined in this table. If no bodies were defined then an empty list will be returned.
        Returns:
        a list of HtmlTableBody objects
      • getSummaryAttribute

        public final java.lang.String getSummaryAttribute()
        Returns the value of the attribute summary. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Returns:
        the value of the attribute summary or an empty string if that attribute isn't defined.
      • getWidthAttribute

        public final java.lang.String getWidthAttribute()
        Returns the value of the attribute width. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Returns:
        the value of the attribute width or an empty string if that attribute isn't defined.
      • getBorderAttribute

        public final java.lang.String getBorderAttribute()
        Returns the value of the attribute border. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Returns:
        the value of the attribute border or an empty string if that attribute isn't defined.
      • getFrameAttribute

        public final java.lang.String getFrameAttribute()
        Returns the value of the attribute frame. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Returns:
        the value of the attribute frame or an empty string if that attribute isn't defined.
      • getRulesAttribute

        public final java.lang.String getRulesAttribute()
        Returns the value of the attribute rules. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Returns:
        the value of the attribute rules or an empty string if that attribute isn't defined.
      • getCellSpacingAttribute

        public final java.lang.String getCellSpacingAttribute()
        Returns the value of the attribute cellspacing. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Returns:
        the value of the attribute cellspacing or an empty string if that attribute isn't defined.
      • getCellPaddingAttribute

        public final java.lang.String getCellPaddingAttribute()
        Returns the value of the attribute cellpadding. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Returns:
        the value of the attribute cellpadding or an empty string if that attribute isn't defined.
      • getAlignAttribute

        public final java.lang.String getAlignAttribute()
        Returns the value of the attribute align. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Returns:
        the value of the attribute align or an empty string if that attribute isn't defined.
      • getBgcolorAttribute

        public final java.lang.String getBgcolorAttribute()
        Returns the value of the attribute bgcolor. Refer to the HTML 4.01 documentation for details on the use of this attribute.
        Returns:
        the value of the attribute bgcolor or an empty string if that attribute isn't defined.
      • isEmptyXmlTagExpanded

        protected boolean isEmptyXmlTagExpanded()
        Indicates if a node without children should be written in expanded form as XML (i.e. with closing tag rather than with "/>")
        Overrides:
        isEmptyXmlTagExpanded in class DomElement
        Returns:
        true as browsers ignore self closing table tags.