Package 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
Author:
  Mark Taylor (Starlink)

### Constructor Summary

Constructors
`TableContentHandler​(boolean strict)` Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`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`