uk.ac.starlink.votable

## Interface TableHandler

-     public interface TableHandler

  SAX-like handler which defines callbacks that can be made when a VOTable data is encountered during a SAX stream.
  Since:
    15 Apr 2005
  See Also:
    `TableContentHandler`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `endTable()` Called when there are no more rows to be transmitted.
    `void` | `rowData(java.lang.Object[] row)` Called when a row has been read.
    `void` | `startTable(StarTable metadata)` Called when a table is about to be transmitted.

- - ### Method Detail

    - #### startTable

          void startTable(StarTable metadata)
                   throws org.xml.sax.SAXException

      Called when a table is about to be transmitted. This call will occur somewhere between matched DATA element `startElement` and `endElement` calls. The `metadata` argument signals column and table metadata argument about the table whose rows are about to be transmitted. If the number of rows that will be transmitted via subsequent calls to `rowData` is known, this value should be made available as the row count of `metadata` (`StarTable.getRowCount()`); if it is not known, the row count should be -1. However, this object should not attempt to read any of `meta`'s cell data.

      The data to be transmitted in subsequent calls of `acceptRow` must match the metadata transmitted in this call in the same way that rows of a StarTable must match its own metadata (number and content clases of columns etc).

      Parameters:
        `metadata` - metadata object
      Throws:
        `org.xml.sax.SAXException`

    - #### rowData

          void rowData(java.lang.Object[] row)
                throws org.xml.sax.SAXException

      Called when a row has been read. This method will be called between matched `startTable` and `endTable` calls.
      Parameters:
        `row` - array of data objects representing a row in the current table
      Throws:
        `org.xml.sax.SAXException`

    - #### endTable

          void endTable()
                 throws org.xml.sax.SAXException

      Called when there are no more rows to be transmitted.
      Throws:
        `org.xml.sax.SAXException`