Package uk.ac.starlink.vo
Class DalResultStreamer
java.lang.Object
uk.ac.starlink.votable.TableContentHandler
uk.ac.starlink.vo.DalResultStreamer
- All Implemented Interfaces:
ContentHandler
,uk.ac.starlink.votable.TableHandler
public class DalResultStreamer
extends uk.ac.starlink.votable.TableContentHandler
implements uk.ac.starlink.votable.TableHandler
SAX table handler for processing VOTable documents returned from DAL
services. The result table has to be in a type="results" RESOURCE
following DAL rules. The QUERY_STATUS INFO elements are understood,
and a table marked with error status causes an exception to be thrown
by the SAX parser.
A successful parse streams the table data to a supplied sink.
- Since:
- 10 Apr 2013
- Author:
- Mark Taylor
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
characters
(char[] ch, int start, int length) void
endElement
(String namespaceURI, String localName, String qName) void
endTable()
boolean
Indicates whether the DAL result was marked as overflowing (with QUERY_STATUS INFO).void
void
startElement
(String namespaceURI, String localName, String qName, Attributes atts) void
startTable
(uk.ac.starlink.table.StarTable meta) static boolean
streamResultTable
(InputSource saxsrc, uk.ac.starlink.table.TableSink sink) Streams a DAL result table from a SAX source to a table sink.Methods inherited from class uk.ac.starlink.votable.TableContentHandler
endDocument, endPrefixMapping, getLocator, getReadHrefTables, getTableHandler, ignorableWhitespace, processingInstruction, setDocumentLocator, setReadHrefTables, setTableHandler, skippedEntity, startDocument, startPrefixMapping
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.xml.sax.ContentHandler
declaration
-
Constructor Details
-
DalResultStreamer
public DalResultStreamer(uk.ac.starlink.table.TableSink sink) Constructor.- Parameters:
sink
- table destination
-
-
Method Details
-
getOverflow
public boolean getOverflow()Indicates whether the DAL result was marked as overflowing (with QUERY_STATUS INFO). Will be set or not set after a successful parse.- Returns:
- true iff an overflow marker has been encountered
-
startElement
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException - Specified by:
startElement
in interfaceContentHandler
- Overrides:
startElement
in classuk.ac.starlink.votable.TableContentHandler
- Throws:
SAXException
-
endElement
- Specified by:
endElement
in interfaceContentHandler
- Overrides:
endElement
in classuk.ac.starlink.votable.TableContentHandler
- Throws:
SAXException
-
characters
- Specified by:
characters
in interfaceContentHandler
- Overrides:
characters
in classuk.ac.starlink.votable.TableContentHandler
- Throws:
SAXException
-
startTable
- Specified by:
startTable
in interfaceuk.ac.starlink.votable.TableHandler
- Throws:
SAXException
-
rowData
- Specified by:
rowData
in interfaceuk.ac.starlink.votable.TableHandler
- Throws:
SAXException
-
endTable
- Specified by:
endTable
in interfaceuk.ac.starlink.votable.TableHandler
- Throws:
SAXException
-
streamResultTable
public static boolean streamResultTable(InputSource saxsrc, uk.ac.starlink.table.TableSink sink) throws IOException, SAXException Streams a DAL result table from a SAX source to a table sink.- Parameters:
saxsrc
- SAX event sourcesink
- table destination- Returns:
- true iff the result was marked as overflowed
- Throws:
IOException
SAXException
-