Package com.fasterxml.aalto.sax
Class SAXParserImpl
- java.lang.Object
-
- javax.xml.parsers.SAXParser
-
- com.fasterxml.aalto.sax.SAXParserImpl
-
- All Implemented Interfaces:
org.xml.sax.Attributes
,org.xml.sax.ext.Attributes2
,org.xml.sax.ext.Locator2
,org.xml.sax.Locator
,org.xml.sax.Parser
,org.xml.sax.XMLReader
class SAXParserImpl extends javax.xml.parsers.SAXParser implements org.xml.sax.Parser, org.xml.sax.XMLReader, org.xml.sax.ext.Attributes2, org.xml.sax.ext.Locator2
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
SAXParserImpl.AttributesWrapper
(package private) static class
SAXParserImpl.DocHandlerWrapper
-
Field Summary
Fields Modifier and Type Field Description protected AttributeCollector
_attrCollector
private int
_attrCount
protected org.xml.sax.ContentHandler
_contentHandler
private org.xml.sax.ext.DeclHandler
_declHandler
protected org.xml.sax.DTDHandler
_dtdHandler
private org.xml.sax.EntityResolver
_entityResolver
private org.xml.sax.ErrorHandler
_errorHandler
private org.xml.sax.ext.LexicalHandler
_lexicalHandler
protected XmlScanner
_scanner
Since the stream reader would mostly be just a wrapper around the underlying scanner (its main job is to implement Stax interface), we can and should just use the scanner.(package private) InputFactoryImpl
_staxFactory
-
Constructor Summary
Constructors Constructor Description SAXParserImpl(InputFactoryImpl sf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
fireAuxEvent(int type, boolean inTree)
private void
fireEndTag()
private void
fireEvents()
This is the actual "tight event loop" that will send all events between start and end document events.private void
fireStartTag()
int
getColumnNumber()
org.xml.sax.ContentHandler
getContentHandler()
org.xml.sax.DTDHandler
getDTDHandler()
java.lang.String
getEncoding()
org.xml.sax.EntityResolver
getEntityResolver()
org.xml.sax.ErrorHandler
getErrorHandler()
boolean
getFeature(java.lang.String name)
int
getIndex(java.lang.String qName)
int
getIndex(java.lang.String uri, java.lang.String localName)
int
getLength()
int
getLineNumber()
java.lang.String
getLocalName(int index)
org.xml.sax.Parser
getParser()
java.lang.Object
getProperty(java.lang.String name)
java.lang.String
getPublicId()
java.lang.String
getQName(int index)
java.lang.String
getSystemId()
java.lang.String
getType(int index)
java.lang.String
getType(java.lang.String qName)
java.lang.String
getType(java.lang.String uri, java.lang.String localName)
java.lang.String
getURI(int index)
java.lang.String
getValue(int index)
java.lang.String
getValue(java.lang.String qName)
java.lang.String
getValue(java.lang.String uri, java.lang.String localName)
org.xml.sax.XMLReader
getXMLReader()
java.lang.String
getXMLVersion()
boolean
isDeclared(int index)
boolean
isDeclared(java.lang.String qName)
boolean
isDeclared(java.lang.String uri, java.lang.String localName)
boolean
isNamespaceAware()
boolean
isSpecified(int index)
boolean
isSpecified(java.lang.String qName)
boolean
isSpecified(java.lang.String uri, java.lang.String localName)
boolean
isValidating()
void
parse(java.lang.String systemId)
void
parse(org.xml.sax.InputSource input)
void
parse(org.xml.sax.InputSource is, org.xml.sax.HandlerBase hb)
void
parse(org.xml.sax.InputSource is, org.xml.sax.helpers.DefaultHandler dh)
void
setContentHandler(org.xml.sax.ContentHandler handler)
void
setDocumentHandler(org.xml.sax.DocumentHandler handler)
void
setDTDHandler(org.xml.sax.DTDHandler handler)
void
setEntityResolver(org.xml.sax.EntityResolver resolver)
void
setErrorHandler(org.xml.sax.ErrorHandler handler)
void
setFeature(java.lang.String name, boolean value)
void
setLocale(java.util.Locale locale)
void
setProperty(java.lang.String name, java.lang.Object value)
private void
throwSaxException(java.lang.Exception e)
private void
throwSaxException(java.lang.String msg)
-
-
-
Field Detail
-
_staxFactory
final InputFactoryImpl _staxFactory
-
_scanner
protected XmlScanner _scanner
Since the stream reader would mostly be just a wrapper around the underlying scanner (its main job is to implement Stax interface), we can and should just use the scanner. In effect, this class is then a replacement of StreamReaderImpl, when using SAX interfaces.
-
_attrCollector
protected AttributeCollector _attrCollector
-
_contentHandler
protected org.xml.sax.ContentHandler _contentHandler
-
_dtdHandler
protected org.xml.sax.DTDHandler _dtdHandler
-
_entityResolver
private org.xml.sax.EntityResolver _entityResolver
-
_errorHandler
private org.xml.sax.ErrorHandler _errorHandler
-
_lexicalHandler
private org.xml.sax.ext.LexicalHandler _lexicalHandler
-
_declHandler
private org.xml.sax.ext.DeclHandler _declHandler
-
_attrCount
private int _attrCount
-
-
Constructor Detail
-
SAXParserImpl
SAXParserImpl(InputFactoryImpl sf)
-
-
Method Detail
-
getParser
public final org.xml.sax.Parser getParser()
- Specified by:
getParser
in classjavax.xml.parsers.SAXParser
-
getXMLReader
public final org.xml.sax.XMLReader getXMLReader()
- Specified by:
getXMLReader
in classjavax.xml.parsers.SAXParser
-
isNamespaceAware
public boolean isNamespaceAware()
- Specified by:
isNamespaceAware
in classjavax.xml.parsers.SAXParser
-
isValidating
public boolean isValidating()
- Specified by:
isValidating
in classjavax.xml.parsers.SAXParser
-
getProperty
public java.lang.Object getProperty(java.lang.String name) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException
- Specified by:
getProperty
in interfaceorg.xml.sax.XMLReader
- Specified by:
getProperty
in classjavax.xml.parsers.SAXParser
- Throws:
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException
-
setProperty
public void setProperty(java.lang.String name, java.lang.Object value) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException
- Specified by:
setProperty
in interfaceorg.xml.sax.XMLReader
- Specified by:
setProperty
in classjavax.xml.parsers.SAXParser
- Throws:
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException
-
parse
public void parse(org.xml.sax.InputSource is, org.xml.sax.HandlerBase hb) throws org.xml.sax.SAXException, java.io.IOException
- Overrides:
parse
in classjavax.xml.parsers.SAXParser
- Throws:
org.xml.sax.SAXException
java.io.IOException
-
parse
public void parse(org.xml.sax.InputSource is, org.xml.sax.helpers.DefaultHandler dh) throws org.xml.sax.SAXException, java.io.IOException
- Overrides:
parse
in classjavax.xml.parsers.SAXParser
- Throws:
org.xml.sax.SAXException
java.io.IOException
-
getContentHandler
public org.xml.sax.ContentHandler getContentHandler()
- Specified by:
getContentHandler
in interfaceorg.xml.sax.XMLReader
-
getDTDHandler
public org.xml.sax.DTDHandler getDTDHandler()
- Specified by:
getDTDHandler
in interfaceorg.xml.sax.XMLReader
-
getEntityResolver
public org.xml.sax.EntityResolver getEntityResolver()
- Specified by:
getEntityResolver
in interfaceorg.xml.sax.XMLReader
-
getErrorHandler
public org.xml.sax.ErrorHandler getErrorHandler()
- Specified by:
getErrorHandler
in interfaceorg.xml.sax.XMLReader
-
getFeature
public boolean getFeature(java.lang.String name) throws org.xml.sax.SAXNotRecognizedException
- Specified by:
getFeature
in interfaceorg.xml.sax.XMLReader
- Throws:
org.xml.sax.SAXNotRecognizedException
-
setContentHandler
public void setContentHandler(org.xml.sax.ContentHandler handler)
- Specified by:
setContentHandler
in interfaceorg.xml.sax.XMLReader
-
setDTDHandler
public void setDTDHandler(org.xml.sax.DTDHandler handler)
- Specified by:
setDTDHandler
in interfaceorg.xml.sax.Parser
- Specified by:
setDTDHandler
in interfaceorg.xml.sax.XMLReader
-
setEntityResolver
public void setEntityResolver(org.xml.sax.EntityResolver resolver)
- Specified by:
setEntityResolver
in interfaceorg.xml.sax.Parser
- Specified by:
setEntityResolver
in interfaceorg.xml.sax.XMLReader
-
setErrorHandler
public void setErrorHandler(org.xml.sax.ErrorHandler handler)
- Specified by:
setErrorHandler
in interfaceorg.xml.sax.Parser
- Specified by:
setErrorHandler
in interfaceorg.xml.sax.XMLReader
-
setFeature
public void setFeature(java.lang.String name, boolean value) throws org.xml.sax.SAXNotRecognizedException
- Specified by:
setFeature
in interfaceorg.xml.sax.XMLReader
- Throws:
org.xml.sax.SAXNotRecognizedException
-
parse
public void parse(org.xml.sax.InputSource input) throws org.xml.sax.SAXException
- Specified by:
parse
in interfaceorg.xml.sax.Parser
- Specified by:
parse
in interfaceorg.xml.sax.XMLReader
- Throws:
org.xml.sax.SAXException
-
parse
public void parse(java.lang.String systemId) throws org.xml.sax.SAXException
- Specified by:
parse
in interfaceorg.xml.sax.Parser
- Specified by:
parse
in interfaceorg.xml.sax.XMLReader
- Throws:
org.xml.sax.SAXException
-
fireEvents
private final void fireEvents() throws org.xml.sax.SAXException, javax.xml.stream.XMLStreamException
This is the actual "tight event loop" that will send all events between start and end document events. Although we could use the stream reader here, there's not much as it mostly just forwards requests to the scanner: and so we can as well just copy the little code stream reader's next() method has.- Throws:
org.xml.sax.SAXException
javax.xml.stream.XMLStreamException
-
fireAuxEvent
private final void fireAuxEvent(int type, boolean inTree) throws org.xml.sax.SAXException, javax.xml.stream.XMLStreamException
- Throws:
org.xml.sax.SAXException
javax.xml.stream.XMLStreamException
-
fireStartTag
private final void fireStartTag() throws org.xml.sax.SAXException
- Throws:
org.xml.sax.SAXException
-
fireEndTag
private final void fireEndTag() throws org.xml.sax.SAXException
- Throws:
org.xml.sax.SAXException
-
setDocumentHandler
public void setDocumentHandler(org.xml.sax.DocumentHandler handler)
- Specified by:
setDocumentHandler
in interfaceorg.xml.sax.Parser
-
setLocale
public void setLocale(java.util.Locale locale)
- Specified by:
setLocale
in interfaceorg.xml.sax.Parser
-
getIndex
public int getIndex(java.lang.String qName)
- Specified by:
getIndex
in interfaceorg.xml.sax.Attributes
-
getIndex
public int getIndex(java.lang.String uri, java.lang.String localName)
- Specified by:
getIndex
in interfaceorg.xml.sax.Attributes
-
getLength
public int getLength()
- Specified by:
getLength
in interfaceorg.xml.sax.Attributes
-
getLocalName
public java.lang.String getLocalName(int index)
- Specified by:
getLocalName
in interfaceorg.xml.sax.Attributes
-
getQName
public java.lang.String getQName(int index)
- Specified by:
getQName
in interfaceorg.xml.sax.Attributes
-
getType
public java.lang.String getType(int index)
- Specified by:
getType
in interfaceorg.xml.sax.Attributes
-
getType
public java.lang.String getType(java.lang.String qName)
- Specified by:
getType
in interfaceorg.xml.sax.Attributes
-
getType
public java.lang.String getType(java.lang.String uri, java.lang.String localName)
- Specified by:
getType
in interfaceorg.xml.sax.Attributes
-
getURI
public java.lang.String getURI(int index)
- Specified by:
getURI
in interfaceorg.xml.sax.Attributes
-
getValue
public java.lang.String getValue(int index)
- Specified by:
getValue
in interfaceorg.xml.sax.Attributes
-
getValue
public java.lang.String getValue(java.lang.String qName)
- Specified by:
getValue
in interfaceorg.xml.sax.Attributes
-
getValue
public java.lang.String getValue(java.lang.String uri, java.lang.String localName)
- Specified by:
getValue
in interfaceorg.xml.sax.Attributes
-
isDeclared
public boolean isDeclared(int index)
- Specified by:
isDeclared
in interfaceorg.xml.sax.ext.Attributes2
-
isDeclared
public boolean isDeclared(java.lang.String qName)
- Specified by:
isDeclared
in interfaceorg.xml.sax.ext.Attributes2
-
isDeclared
public boolean isDeclared(java.lang.String uri, java.lang.String localName)
- Specified by:
isDeclared
in interfaceorg.xml.sax.ext.Attributes2
-
isSpecified
public boolean isSpecified(int index)
- Specified by:
isSpecified
in interfaceorg.xml.sax.ext.Attributes2
-
isSpecified
public boolean isSpecified(java.lang.String qName)
- Specified by:
isSpecified
in interfaceorg.xml.sax.ext.Attributes2
-
isSpecified
public boolean isSpecified(java.lang.String uri, java.lang.String localName)
- Specified by:
isSpecified
in interfaceorg.xml.sax.ext.Attributes2
-
getColumnNumber
public int getColumnNumber()
- Specified by:
getColumnNumber
in interfaceorg.xml.sax.Locator
-
getLineNumber
public int getLineNumber()
- Specified by:
getLineNumber
in interfaceorg.xml.sax.Locator
-
getPublicId
public java.lang.String getPublicId()
- Specified by:
getPublicId
in interfaceorg.xml.sax.Locator
-
getSystemId
public java.lang.String getSystemId()
- Specified by:
getSystemId
in interfaceorg.xml.sax.Locator
-
getEncoding
public java.lang.String getEncoding()
- Specified by:
getEncoding
in interfaceorg.xml.sax.ext.Locator2
-
getXMLVersion
public java.lang.String getXMLVersion()
- Specified by:
getXMLVersion
in interfaceorg.xml.sax.ext.Locator2
-
throwSaxException
private void throwSaxException(java.lang.Exception e) throws org.xml.sax.SAXException
- Throws:
org.xml.sax.SAXException
-
throwSaxException
private void throwSaxException(java.lang.String msg) throws org.xml.sax.SAXException
- Throws:
org.xml.sax.SAXException
-
-