public class SAXBufferProcessor extends AbstractProcessor implements org.xml.sax.XMLReader
XMLStreamBuffer that that reads the XML infoset as
XMLReader.| Modifier and Type | Field and Description |
|---|---|
protected AttributesHolder |
_attributes |
protected org.xml.sax.ContentHandler |
_contentHandler
Reference to content handler.
|
protected org.xml.sax.DTDHandler |
_dtdHandler
Reference to dtd handler.
|
protected org.xml.sax.EntityResolver |
_entityResolver
Reference to entity resolver.
|
protected org.xml.sax.ErrorHandler |
_errorHandler
Reference to error handler.
|
protected org.xml.sax.ext.LexicalHandler |
_lexicalHandler
Reference to lexical handler.
|
protected int[] |
_namespaceAttributesStack |
protected int |
_namespaceAttributesStackIndex |
protected int[] |
_namespaceAttributesStartingStack |
protected java.lang.String[] |
_namespacePrefixes |
protected boolean |
_namespacePrefixesFeature
SAX Namespace attributes features
|
protected int |
_namespacePrefixesIndex |
private static DefaultWithLexicalHandler |
DEFAULT_LEXICAL_HANDLER |
_buffer, _fragmentMode, _qNameBuffer, _stringInterningFeature, _treeCount, STATE_ATTRIBUTE_LN, STATE_ATTRIBUTE_LN_OBJECT, STATE_ATTRIBUTE_P_U_LN, STATE_ATTRIBUTE_P_U_LN_OBJECT, STATE_ATTRIBUTE_U_LN, STATE_ATTRIBUTE_U_LN_OBJECT, STATE_ATTRIBUTE_U_LN_QN, STATE_ATTRIBUTE_U_LN_QN_OBJECT, STATE_COMMENT_AS_CHAR_ARRAY_COPY, STATE_COMMENT_AS_CHAR_ARRAY_MEDIUM, STATE_COMMENT_AS_CHAR_ARRAY_SMALL, STATE_COMMENT_AS_STRING, STATE_DOCUMENT, STATE_DOCUMENT_FRAGMENT, STATE_ELEMENT_LN, STATE_ELEMENT_P_U_LN, STATE_ELEMENT_U_LN, STATE_ELEMENT_U_LN_QN, STATE_END, STATE_ILLEGAL, STATE_NAMESPACE_ATTRIBUTE, STATE_NAMESPACE_ATTRIBUTE_P, STATE_NAMESPACE_ATTRIBUTE_P_U, STATE_NAMESPACE_ATTRIBUTE_U, STATE_PROCESSING_INSTRUCTION, STATE_TEXT_AS_CHAR_ARRAY_COPY, STATE_TEXT_AS_CHAR_ARRAY_MEDIUM, STATE_TEXT_AS_CHAR_ARRAY_SMALL, STATE_TEXT_AS_OBJECT, STATE_TEXT_AS_STRING_contentCharactersBuffer, _contentCharactersBufferPtr, _contentObjects, _contentObjectsPtr, _currentContentCharactersBufferFragment, _currentContentObjectFragment, _currentStructureFragment, _currentStructureStringFragment, _structure, _structurePtr, _structureStrings, _structureStringsPtr, CHAR_ARRAY_LENGTH_MEDIUM, CHAR_ARRAY_LENGTH_MEDIUM_SIZE, CHAR_ARRAY_LENGTH_SMALL, CHAR_ARRAY_LENGTH_SMALL_SIZE, CONTENT_TYPE_CHAR_ARRAY, CONTENT_TYPE_CHAR_ARRAY_COPY, CONTENT_TYPE_OBJECT, CONTENT_TYPE_STRING, FLAG_DOCUMENT_FRAGMENT, FLAG_PREFIX, FLAG_QUALIFIED_NAME, FLAG_URI, T_ATTRIBUTE, T_ATTRIBUTE_LN, T_ATTRIBUTE_LN_OBJECT, T_ATTRIBUTE_P_U_LN, T_ATTRIBUTE_P_U_LN_OBJECT, T_ATTRIBUTE_U_LN, T_ATTRIBUTE_U_LN_OBJECT, T_ATTRIBUTE_U_LN_QN, T_ATTRIBUTE_U_LN_QN_OBJECT, T_COMMENT, T_COMMENT_AS_CHAR_ARRAY, T_COMMENT_AS_CHAR_ARRAY_COPY, T_COMMENT_AS_CHAR_ARRAY_MEDIUM, T_COMMENT_AS_CHAR_ARRAY_SMALL, T_COMMENT_AS_STRING, T_DOCUMENT, T_DOCUMENT_FRAGMENT, T_ELEMENT, T_ELEMENT_LN, T_ELEMENT_P_U_LN, T_ELEMENT_U_LN, T_ELEMENT_U_LN_QN, T_END, T_END_OF_BUFFER, T_NAMESPACE_ATTRIBUTE, T_NAMESPACE_ATTRIBUTE_P, T_NAMESPACE_ATTRIBUTE_P_U, T_NAMESPACE_ATTRIBUTE_U, T_PROCESSING_INSTRUCTION, T_TEXT, T_TEXT_AS_CHAR_ARRAY, T_TEXT_AS_CHAR_ARRAY_COPY, T_TEXT_AS_CHAR_ARRAY_MEDIUM, T_TEXT_AS_CHAR_ARRAY_SMALL, T_TEXT_AS_OBJECT, T_TEXT_AS_STRING, T_UNEXPANDED_ENTITY_REFERENCE, TYPE_MASK, VALUE_TYPE_OBJECT, VALUE_TYPE_STRING| Constructor and Description |
|---|
SAXBufferProcessor() |
SAXBufferProcessor(XMLStreamBuffer buffer)
Deprecated.
|
SAXBufferProcessor(XMLStreamBuffer buffer,
boolean produceFragmentEvent) |
| Modifier and Type | Method and Description |
|---|---|
private void |
cacheNamespacePrefix(java.lang.String prefix) |
private void |
cacheNamespacePrefixIndex() |
private void |
cacheNamespacePrefixStartingIndex() |
private static java.lang.String |
fixNull(java.lang.String s) |
org.xml.sax.ContentHandler |
getContentHandler() |
org.xml.sax.DTDHandler |
getDTDHandler() |
org.xml.sax.EntityResolver |
getEntityResolver() |
org.xml.sax.ErrorHandler |
getErrorHandler() |
boolean |
getFeature(java.lang.String name) |
org.xml.sax.ext.LexicalHandler |
getLexicalHandler() |
java.lang.Object |
getProperty(java.lang.String name) |
private boolean |
isInscope() |
void |
parse(org.xml.sax.InputSource input) |
void |
parse(java.lang.String systemId) |
void |
process()
Parse the sub-tree (or a whole document) that
XMLStreamBuffer
points to, and sends events to handlers. |
void |
process(XMLStreamBuffer buffer)
Deprecated.
|
void |
process(XMLStreamBuffer buffer,
boolean produceFragmentEvent)
Short-hand for
setXMLStreamBuffer(XMLStreamBuffer,boolean) then process(). |
private void |
processAttributes(int item) |
private void |
processComment(char[] ch,
int start,
int length) |
private void |
processComment(java.lang.String s) |
private void |
processCommentAsCharArrayCopy() |
private void |
processCommentAsCharArrayMedium() |
private void |
processCommentAsCharArraySmall() |
private void |
processDocument() |
protected void |
processElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName,
boolean inscope) |
private void |
processEndPrefixMapping() |
private void |
processNamespaceAttribute(java.lang.String prefix,
java.lang.String uri) |
private int |
processNamespaceAttributes(int item,
boolean collectPrefixes,
java.util.Set<java.lang.String> prefixSet) |
private void |
processProcessingInstruction(java.lang.String target,
java.lang.String data) |
private void |
readInscopeNamespaces(java.util.Set<java.lang.String> prefixSet) |
private org.xml.sax.SAXParseException |
reportFatalError(java.lang.String msg)
Report a fatal error and abort.
|
void |
setContentHandler(org.xml.sax.ContentHandler 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 |
setLexicalHandler(org.xml.sax.ext.LexicalHandler handler) |
void |
setProperty(java.lang.String name,
java.lang.Object value) |
void |
setXMLStreamBuffer(XMLStreamBuffer buffer)
Deprecated.
|
void |
setXMLStreamBuffer(XMLStreamBuffer buffer,
boolean produceFragmentEvent)
Resets the parser to read from the beginning of the given
XMLStreamBuffer. |
getAIIState, getEIIState, getNIIState, getPrefixFromQName, getQName, peekStructure, readContentCharactersBuffer, readContentCharactersCopy, readContentObject, readContentString, readEiiState, readStructure, readStructure16, readStructureString, setBuffer, setBufferprotected org.xml.sax.EntityResolver _entityResolver
protected org.xml.sax.DTDHandler _dtdHandler
protected org.xml.sax.ContentHandler _contentHandler
protected org.xml.sax.ErrorHandler _errorHandler
protected org.xml.sax.ext.LexicalHandler _lexicalHandler
protected boolean _namespacePrefixesFeature
protected AttributesHolder _attributes
protected java.lang.String[] _namespacePrefixes
protected int _namespacePrefixesIndex
protected int[] _namespaceAttributesStartingStack
protected int[] _namespaceAttributesStack
protected int _namespaceAttributesStackIndex
private static final DefaultWithLexicalHandler DEFAULT_LEXICAL_HANDLER
public SAXBufferProcessor()
public SAXBufferProcessor(XMLStreamBuffer buffer)
SAXBufferProcessor(XMLStreamBuffer, boolean)public SAXBufferProcessor(XMLStreamBuffer buffer, boolean produceFragmentEvent)
produceFragmentEvent - True to generate fragment SAX events without start/endDocument.
False to generate a full document SAX events.public boolean getFeature(java.lang.String name)
throws org.xml.sax.SAXNotRecognizedException,
org.xml.sax.SAXNotSupportedException
getFeature in interface org.xml.sax.XMLReaderorg.xml.sax.SAXNotRecognizedExceptionorg.xml.sax.SAXNotSupportedExceptionpublic void setFeature(java.lang.String name,
boolean value)
throws org.xml.sax.SAXNotRecognizedException,
org.xml.sax.SAXNotSupportedException
setFeature in interface org.xml.sax.XMLReaderorg.xml.sax.SAXNotRecognizedExceptionorg.xml.sax.SAXNotSupportedExceptionpublic java.lang.Object getProperty(java.lang.String name)
throws org.xml.sax.SAXNotRecognizedException,
org.xml.sax.SAXNotSupportedException
getProperty in interface org.xml.sax.XMLReaderorg.xml.sax.SAXNotRecognizedExceptionorg.xml.sax.SAXNotSupportedExceptionpublic void setProperty(java.lang.String name,
java.lang.Object value)
throws org.xml.sax.SAXNotRecognizedException,
org.xml.sax.SAXNotSupportedException
setProperty in interface org.xml.sax.XMLReaderorg.xml.sax.SAXNotRecognizedExceptionorg.xml.sax.SAXNotSupportedExceptionpublic void setEntityResolver(org.xml.sax.EntityResolver resolver)
setEntityResolver in interface org.xml.sax.XMLReaderpublic org.xml.sax.EntityResolver getEntityResolver()
getEntityResolver in interface org.xml.sax.XMLReaderpublic void setDTDHandler(org.xml.sax.DTDHandler handler)
setDTDHandler in interface org.xml.sax.XMLReaderpublic org.xml.sax.DTDHandler getDTDHandler()
getDTDHandler in interface org.xml.sax.XMLReaderpublic void setContentHandler(org.xml.sax.ContentHandler handler)
setContentHandler in interface org.xml.sax.XMLReaderpublic org.xml.sax.ContentHandler getContentHandler()
getContentHandler in interface org.xml.sax.XMLReaderpublic void setErrorHandler(org.xml.sax.ErrorHandler handler)
setErrorHandler in interface org.xml.sax.XMLReaderpublic org.xml.sax.ErrorHandler getErrorHandler()
getErrorHandler in interface org.xml.sax.XMLReaderpublic void setLexicalHandler(org.xml.sax.ext.LexicalHandler handler)
public org.xml.sax.ext.LexicalHandler getLexicalHandler()
public void parse(org.xml.sax.InputSource input)
throws java.io.IOException,
org.xml.sax.SAXException
parse in interface org.xml.sax.XMLReaderjava.io.IOExceptionorg.xml.sax.SAXExceptionpublic void parse(java.lang.String systemId)
throws java.io.IOException,
org.xml.sax.SAXException
parse in interface org.xml.sax.XMLReaderjava.io.IOExceptionorg.xml.sax.SAXExceptionpublic final void process(XMLStreamBuffer buffer) throws org.xml.sax.SAXException
process(XMLStreamBuffer, boolean)setXMLStreamBuffer(XMLStreamBuffer) then process().org.xml.sax.SAXExceptionpublic final void process(XMLStreamBuffer buffer, boolean produceFragmentEvent) throws org.xml.sax.SAXException
setXMLStreamBuffer(XMLStreamBuffer,boolean) then process().produceFragmentEvent - True to generate fragment SAX events without start/endDocument.
False to generate a full document SAX events.org.xml.sax.SAXExceptionpublic void setXMLStreamBuffer(XMLStreamBuffer buffer)
setXMLStreamBuffer(XMLStreamBuffer, boolean).XMLStreamBuffer.public void setXMLStreamBuffer(XMLStreamBuffer buffer, boolean produceFragmentEvent)
XMLStreamBuffer.produceFragmentEvent - True to generate fragment SAX events without start/endDocument.
False to generate a full document SAX events.public final void process()
throws org.xml.sax.SAXException
XMLStreamBuffer
points to, and sends events to handlers.
TODO: We probably need two modes for a sub-tree event generation. One for firing a sub-tree as if it's a whole document (in which case start/endDocument and appropriate additional namespace bindings are necessary), and the other mode for firing a subtree as a subtree, like it does today. A stream buffer SAX feature could be used to specify this.
org.xml.sax.SAXException - Follow the same semantics as XMLReader.parse(InputSource).private void processCommentAsCharArraySmall()
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate org.xml.sax.SAXParseException reportFatalError(java.lang.String msg)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate boolean isInscope()
private void processDocument()
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprotected void processElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName,
boolean inscope)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate void readInscopeNamespaces(java.util.Set<java.lang.String> prefixSet)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate static java.lang.String fixNull(java.lang.String s)
private void processCommentAsCharArrayCopy()
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate void processCommentAsCharArrayMedium()
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate void processEndPrefixMapping()
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate int processNamespaceAttributes(int item,
boolean collectPrefixes,
java.util.Set<java.lang.String> prefixSet)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate void processAttributes(int item)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate void processNamespaceAttribute(java.lang.String prefix,
java.lang.String uri)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate void cacheNamespacePrefix(java.lang.String prefix)
private void cacheNamespacePrefixIndex()
private void cacheNamespacePrefixStartingIndex()
private void processComment(java.lang.String s)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate void processComment(char[] ch,
int start,
int length)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate void processProcessingInstruction(java.lang.String target,
java.lang.String data)
throws org.xml.sax.SAXException
org.xml.sax.SAXException