Package uk.ac.starlink.votable

## Interface TableHandler

All Known Implementing Classes:
  `AxisTableDeserializer`

    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
Author:
  Mark Taylor (Starlink)
See Also:
  `TableContentHandler`

### Method Summary

All Methods Instance Methods Abstract Methods
`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​(uk.ac.starlink.table.StarTable metadata)` Called when a table is about to be transmitted.

### Method Detail

#### startTable

    void startTable​(uk.ac.starlink.table.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`