Package cds.savot.stax
Class SavotStaxParser
- java.lang.Object
-
- cds.savot.stax.SavotStaxParser
-
- All Implemented Interfaces:
Markups
public final class SavotStaxParser extends java.lang.Object implements Markups
It has been tested with Java 1.6 Stax implementation but it is possible to use other Stax implementations
Designed to use with JSR-173 compliant (Streaming API for XML)
remark L. Bourgès : equalsIgnoreCase() vs() equals as XML is case sensitive and VOTable specification says that clearly
- Author:
- Andre Schaaff
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_STACK_CAPACITYdefault stack capacity = 4 slotsstatic intFULLFULL parsing mode: deprecated and replaced by FULLREADstatic intFULLREADFULLREAD parsing mode: all in memorystatic intRESOURCEREADRESOURCEREAD parsing mode: resource per resource readingstatic intROWREADROWREAD parsing mode: row per row readingstatic intSEQUENTIALSEQUENTIAL parsing mode: deprecated and replaced by RESOURCEREAD-
Fields inherited from interface cds.savot.common.Markups
ACTION, ACTUATE, ARRAYSIZE, BINARY, CONTENTROLE, CONTENTTYPE, COOSYS, DATA, DATATYPE, DEFINITIONS, DESCRIPTION, ENCODING, EPOCH, EQUINOX, EXPIRES, EXTNUM, FIELD, FIELDREF, FITS, GREF, GROUP, HREF, ID, INCLUSIVE, INFO, INVALID, LINK, MAX, MIN, NAME, NROWS, NULL, OPTION, PARAM, PARAMREF, PRECISION, REF, RESOURCE, RIGHTS, SAVOTPARSER, STREAM, SYSTEM, SYSTEM_ATTRIBUTE, TABLE, TABLEDATA, TD, TITLE, TR, TYPE, UCD, UNIT, UTYPE, VALUE, VALUES, VERSION, VOTABLE, WIDTH, XML, XMLNS, XMLNSXSI, XSI, XSI_NOSCHEMA, XSI_SCHEMA, XSINOSCHEMA, XSISCHEMA, XTYPE
-
-
Constructor Summary
Constructors Constructor Description SavotStaxParser(java.io.InputStream instream, int mode)ConstructorSavotStaxParser(java.io.InputStream instream, int mode, boolean debug)ConstructorSavotStaxParser(java.io.InputStream instream, int mode, boolean debug, SavotStatistics stats)ConstructorSavotStaxParser(java.io.Reader reader, int mode)ConstructorSavotStaxParser(java.io.Reader reader, int mode, boolean debug)ConstructorSavotStaxParser(java.io.Reader reader, int mode, boolean debug, SavotStatistics stats)ConstructorSavotStaxParser(java.lang.String file, int mode)ConstructorSavotStaxParser(java.lang.String file, int mode, boolean debug)ConstructorSavotStaxParser(java.lang.String file, int mode, boolean debug, SavotStatistics stats)ConstructorSavotStaxParser(java.net.URL url, int mode)ConstructorSavotStaxParser(java.net.URL url, int mode, boolean debug)ConstructorSavotStaxParser(java.net.URL url, int mode, boolean debug, SavotStatistics stats)Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close the input stream if still opened and free the internal parservoidenableDebug(boolean debug)Enable debug modeSavotVOTablegetAllResources()Get current VOTable (all resources)SavotCoosysgetCoosysFromRef(java.lang.String ref)Search a COOSYS corresponding to an ID refintgetDataCount()Get the number of DATA elements in the document (for statistics)SavotFieldgetFieldFromRef(java.lang.String ref)Search a FIELD corresponding to an ID refSavotFieldRefgetFieldRefFromRef(java.lang.String ref)Search a FIELDref corresponding to an ID refSavotGroupgetGroupFromRef(java.lang.String ref)Search a GROUP corresponding to an ID refjava.util.Map<java.lang.String,java.lang.Object>getIdRefLinks()Get a reference on the Hashtable containing the link between ID and refSavotInfogetInfoFromRef(java.lang.String ref)Search a RESOURCE corresponding to an ID refSavotLinkgetLinkFromRef(java.lang.String ref)Search a LINK corresponding to an ID refSavotResourcegetNextResource()Get the next Resource (warning : RESOURCEREAD mode only)SavotTRgetNextTR()Get the next TR (warning : ROWREAD mode only)SavotParamgetParamFromRef(java.lang.String ref)Search a PARAM corresponding to an ID refSavotParamRefgetParamRefFromRef(java.lang.String ref)Search a PARAMref corresponding to an ID refintgetResourceCount()Get the number of RESOURCE elements in the document (for statistics)SavotResourcegetResourceFromRef(java.lang.String ref)Search a RESOURCE corresponding to an ID refSavotStatisticsgetStatistics()Returns the statisticsintgetTableCount()Get the number of TABLE elements in the document (for statistics)SavotTablegetTableFromRef(java.lang.String ref)Search a TABLE corresponding to an ID refintgetTRCount()Get the number of TR elements in the document (for statistics)SavotValuesgetValuesFromRef(java.lang.String ref)Search a VALUES corresponding to an ID refjava.lang.StringgetVersion()Get Parser VersionSavotVOTablegetVOTable()Get a reference to V0TABLE objectstatic voidmain(java.lang.String[] argv)Mainvoidparse(int parsingType)Parsing enginevoidreset()Reset of the engine before another parsing LBO: useless methods ?voidsequentialTester()For test only
-
-
-
Field Detail
-
FULL
public static final int FULL
FULL parsing mode: deprecated and replaced by FULLREAD- See Also:
- Constant Field Values
-
FULLREAD
public static final int FULLREAD
FULLREAD parsing mode: all in memory- See Also:
- Constant Field Values
-
SEQUENTIAL
public static final int SEQUENTIAL
SEQUENTIAL parsing mode: deprecated and replaced by RESOURCEREAD- See Also:
- Constant Field Values
-
RESOURCEREAD
public static final int RESOURCEREAD
RESOURCEREAD parsing mode: resource per resource reading- See Also:
- Constant Field Values
-
ROWREAD
public static final int ROWREAD
ROWREAD parsing mode: row per row reading- See Also:
- Constant Field Values
-
DEFAULT_STACK_CAPACITY
public static final int DEFAULT_STACK_CAPACITY
default stack capacity = 4 slots- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SavotStaxParser
public SavotStaxParser(java.lang.String file, int mode) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionConstructor- Parameters:
file- a file to parsemode- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
SavotStaxParser
public SavotStaxParser(java.lang.String file, int mode, boolean debug) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionConstructor- Parameters:
file- a file to parsemode- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)debug-- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
SavotStaxParser
public SavotStaxParser(java.lang.String file, int mode, boolean debug, SavotStatistics stats) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionConstructor- Parameters:
file- a file to parsemode- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)debug-stats-- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
SavotStaxParser
public SavotStaxParser(java.net.URL url, int mode) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionConstructor- Parameters:
url- url to parsemode- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
SavotStaxParser
public SavotStaxParser(java.net.URL url, int mode, boolean debug) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionConstructor- Parameters:
url- url to parsemode- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)debug-- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
SavotStaxParser
public SavotStaxParser(java.net.URL url, int mode, boolean debug, SavotStatistics stats) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionConstructor- Parameters:
url- url to parsemode- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)debug-stats-- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
SavotStaxParser
public SavotStaxParser(java.io.InputStream instream, int mode) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionConstructor- Parameters:
instream- stream to parsemode- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
SavotStaxParser
public SavotStaxParser(java.io.InputStream instream, int mode, boolean debug) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionConstructor- Parameters:
instream- stream to parsemode- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)debug-- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
SavotStaxParser
public SavotStaxParser(java.io.InputStream instream, int mode, boolean debug, SavotStatistics stats) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionConstructor- Parameters:
instream- stream to parsemode- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)debug-stats-- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
SavotStaxParser
public SavotStaxParser(java.io.Reader reader, int mode) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionConstructor- Parameters:
reader- reader to parsemode- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
SavotStaxParser
public SavotStaxParser(java.io.Reader reader, int mode, boolean debug) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionConstructor- Parameters:
reader- reader to parsemode- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)debug-- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
SavotStaxParser
public SavotStaxParser(java.io.Reader reader, int mode, boolean debug, SavotStatistics stats) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionConstructor- Parameters:
reader- reader to parsemode- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)debug-stats-- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
-
Method Detail
-
close
public void close()
Close the input stream if still opened and free the internal parser
-
reset
public void reset()
Reset of the engine before another parsing LBO: useless methods ?
-
parse
public void parse(int parsingType) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionParsing engine- Parameters:
parsingType- FULLREAD (all in memory), RESOURCEREAD (per RESOURCE) or ROWREAD (per ROW, for small memory size applications)- Throws:
java.io.IOExceptionjavax.xml.stream.XMLStreamException
-
getNextResource
public SavotResource getNextResource()
Get the next Resource (warning : RESOURCEREAD mode only)- Returns:
- a SavotResource (always NULL if other mode)
-
getNextTR
public SavotTR getNextTR()
Get the next TR (warning : ROWREAD mode only)- Returns:
- a SavotTR (always NULL if other mode)
-
getVOTable
public SavotVOTable getVOTable()
Get a reference to V0TABLE object- Returns:
- SavotVOTable
-
getResourceCount
public int getResourceCount()
Get the number of RESOURCE elements in the document (for statistics)- Returns:
- a long value
-
getTableCount
public int getTableCount()
Get the number of TABLE elements in the document (for statistics)- Returns:
- a long value
-
getTRCount
public int getTRCount()
Get the number of TR elements in the document (for statistics)- Returns:
- a long value
-
getDataCount
public int getDataCount()
Get the number of DATA elements in the document (for statistics)- Returns:
- a long value
-
getIdRefLinks
public java.util.Map<java.lang.String,java.lang.Object> getIdRefLinks()
Get a reference on the Hashtable containing the link between ID and ref- Returns:
- a refernce to the Hashtable
-
getResourceFromRef
public SavotResource getResourceFromRef(java.lang.String ref)
Search a RESOURCE corresponding to an ID ref- Parameters:
ref-- Returns:
- a reference to a SavotResource object
-
getFieldFromRef
public SavotField getFieldFromRef(java.lang.String ref)
Search a FIELD corresponding to an ID ref- Parameters:
ref-- Returns:
- SavotField
-
getFieldRefFromRef
public SavotFieldRef getFieldRefFromRef(java.lang.String ref)
Search a FIELDref corresponding to an ID ref- Parameters:
ref-- Returns:
- SavotFieldRef
-
getParamFromRef
public SavotParam getParamFromRef(java.lang.String ref)
Search a PARAM corresponding to an ID ref- Parameters:
ref-- Returns:
- SavotParam
-
getParamRefFromRef
public SavotParamRef getParamRefFromRef(java.lang.String ref)
Search a PARAMref corresponding to an ID ref- Parameters:
ref-- Returns:
- SavotParamRef
-
getTableFromRef
public SavotTable getTableFromRef(java.lang.String ref)
Search a TABLE corresponding to an ID ref- Parameters:
ref-- Returns:
- SavotTable
-
getGroupFromRef
public SavotGroup getGroupFromRef(java.lang.String ref)
Search a GROUP corresponding to an ID ref- Parameters:
ref-- Returns:
- SavotGROUP
-
getInfoFromRef
public SavotInfo getInfoFromRef(java.lang.String ref)
Search a RESOURCE corresponding to an ID ref- Parameters:
ref-- Returns:
- SavotInfo
-
getValuesFromRef
public SavotValues getValuesFromRef(java.lang.String ref)
Search a VALUES corresponding to an ID ref- Parameters:
ref-- Returns:
- SavotValues
-
getLinkFromRef
public SavotLink getLinkFromRef(java.lang.String ref)
Search a LINK corresponding to an ID ref- Parameters:
ref-- Returns:
- SavotLink
-
getCoosysFromRef
public SavotCoosys getCoosysFromRef(java.lang.String ref)
Search a COOSYS corresponding to an ID ref- Parameters:
ref-- Returns:
- SavotCoosys
-
getAllResources
public SavotVOTable getAllResources()
Get current VOTable (all resources)- Returns:
- SavotVOTable
-
enableDebug
public void enableDebug(boolean debug)
Enable debug mode- Parameters:
debug- boolean
-
getStatistics
public SavotStatistics getStatistics()
Returns the statistics- Returns:
- statistics
-
getVersion
public java.lang.String getVersion()
Get Parser Version- Returns:
- String
-
sequentialTester
public void sequentialTester()
For test only
-
main
public static void main(java.lang.String[] argv) throws java.lang.ExceptionMain- Parameters:
argv-- Throws:
java.lang.Exception
-
-