uk.ac.starlink.votable

## Class TableContentHandler

- java.lang.Object
- - uk.ac.starlink.votable.TableContentHandler

- All Implemented Interfaces:
    org.xml.sax.ContentHandler

      public class TableContentHandler
      extends java.lang.Object
      implements org.xml.sax.ContentHandler

  Content handler which translates SAX events into table events. It holds a `TableHandler` object which, if non-null, is messaged for every suitable DATA element in the input stream. Inline tables (TABLEDATA ones and FITS/BINARY/BINARY2 ones in which STREAM element contains the byte data as text children) are always messaged to the handler. Externally-referenced ones (FITS/BINARY/BINARY2 ones in which the data is located from an `href` attribute on the STREAM element) may either be ignored or streamed to the table handler according to the setting of the `setReadHrefTables` member.
  Since:
    15 Apr 2005

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TableContentHandler(boolean strict)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `characters(char[] ch, int start, int length)`
    `void` | `endDocument()`
    `void` | `endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)`
    `void` | `endPrefixMapping(java.lang.String prefix)`
    `org.xml.sax.Locator` | `getLocator()` Returns the document locator.
    `boolean` | `getReadHrefTables()` Indicates whether href-referenced tables should be streamed to the table handler.
    `TableHandler` | `getTableHandler()` Returns the TableHandler object for this parser.
    `void` | `ignorableWhitespace(char[] ch, int start, int length)`
    `void` | `processingInstruction(java.lang.String target, java.lang.String data)`
    `void` | `setDocumentLocator(org.xml.sax.Locator locator)`
    `void` | `setReadHrefTables(boolean readHrefs)` Sets whether href-referenced tables should be streamed to the table handler.
    `void` | `setTableHandler(TableHandler handler)` Sets the TableHandler object for this parser.
    `void` | `skippedEntity(java.lang.String name)`
    `void` | `startDocument()`
    `void` | `startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)`
    `void` | `startPrefixMapping(java.lang.String prefix, java.lang.String uri)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TableContentHandler

          public TableContentHandler(boolean strict)

      Constructor.
      Parameters:
        `strict` - whether to effect a strict reading of the VOTable standard

  - ### Method Detail

    - #### setTableHandler

          public void setTableHandler(TableHandler handler)

      Sets the TableHandler object for this parser. If set to a non-null value, the handler will be messaged with the table metadata and data for each table (each DATA element) encountered in parsing the VOTable document.
      Parameters:
        `handler` - table handler

    - #### getTableHandler

          public TableHandler getTableHandler()

      Returns the TableHandler object for this parser.
      Returns:
        table handler

    - #### setReadHrefTables

          public void setReadHrefTables(boolean readHrefs)

      Sets whether href-referenced tables should be streamed to the table handler.
      Parameters:
        `readHrefs` - if true, externally-referenced tables will be messaged to the handler, if false they will be ignored

    - #### getReadHrefTables

          public boolean getReadHrefTables()

      Indicates whether href-referenced tables should be streamed to the table handler.
      Returns:
        true if externally-referenced tables will be messaged to the handler, false if they will be ignored

    - #### getLocator

          public org.xml.sax.Locator getLocator()

      Returns the document locator.
      Returns:
        locator

    - #### setDocumentLocator

          public void setDocumentLocator(org.xml.sax.Locator locator)

      Specified by:
        `setDocumentLocator` in interface `org.xml.sax.ContentHandler`

    - #### startDocument

          public void startDocument()
                             throws org.xml.sax.SAXException

      Specified by:
        `startDocument` in interface `org.xml.sax.ContentHandler`
      Throws:
        `org.xml.sax.SAXException`

    - #### endDocument

          public void endDocument()
                           throws org.xml.sax.SAXException

      Specified by:
        `endDocument` in interface `org.xml.sax.ContentHandler`
      Throws:
        `org.xml.sax.SAXException`

    - #### startElement

          public void startElement(java.lang.String namespaceURI,
                                   java.lang.String localName,
                                   java.lang.String qName,
                                   org.xml.sax.Attributes atts)
                            throws org.xml.sax.SAXException

      Specified by:
        `startElement` in interface `org.xml.sax.ContentHandler`
      Throws:
        `org.xml.sax.SAXException`

    - #### endElement

          public void endElement(java.lang.String namespaceURI,
                                 java.lang.String localName,
                                 java.lang.String qName)
                          throws org.xml.sax.SAXException

      Specified by:
        `endElement` in interface `org.xml.sax.ContentHandler`
      Throws:
        `org.xml.sax.SAXException`

    - #### characters

          public void characters(char[] ch,
                                 int start,
                                 int length)
                          throws org.xml.sax.SAXException

      Specified by:
        `characters` in interface `org.xml.sax.ContentHandler`
      Throws:
        `org.xml.sax.SAXException`

    - #### ignorableWhitespace

          public void ignorableWhitespace(char[] ch,
                                          int start,
                                          int length)
                                   throws org.xml.sax.SAXException

      Specified by:
        `ignorableWhitespace` in interface `org.xml.sax.ContentHandler`
      Throws:
        `org.xml.sax.SAXException`

    - #### startPrefixMapping

          public void startPrefixMapping(java.lang.String prefix,
                                         java.lang.String uri)
                                  throws org.xml.sax.SAXException

      Specified by:
        `startPrefixMapping` in interface `org.xml.sax.ContentHandler`
      Throws:
        `org.xml.sax.SAXException`

    - #### endPrefixMapping

          public void endPrefixMapping(java.lang.String prefix)
                                throws org.xml.sax.SAXException

      Specified by:
        `endPrefixMapping` in interface `org.xml.sax.ContentHandler`
      Throws:
        `org.xml.sax.SAXException`

    - #### skippedEntity

          public void skippedEntity(java.lang.String name)
                             throws org.xml.sax.SAXException

      Specified by:
        `skippedEntity` in interface `org.xml.sax.ContentHandler`
      Throws:
        `org.xml.sax.SAXException`

    - #### processingInstruction

          public void processingInstruction(java.lang.String target,
                                            java.lang.String data)
                                     throws org.xml.sax.SAXException

      Specified by:
        `processingInstruction` in interface `org.xml.sax.ContentHandler`
      Throws:
        `org.xml.sax.SAXException`