com.sun.xml.stream.buffer.sax
Class SAXBufferProcessor

java.lang.Object
  extended by com.sun.xml.stream.buffer.AbstractCreatorProcessor
      extended by com.sun.xml.stream.buffer.AbstractProcessor
          extended by com.sun.xml.stream.buffer.sax.SAXBufferProcessor
All Implemented Interfaces:
XMLReader

public class SAXBufferProcessor
extends AbstractProcessor
implements XMLReader

A processor of a XMLStreamBuffer that that reads the XML infoset as XMLReader.


Field Summary
protected  AttributesHolder _attributes
           
protected  ContentHandler _contentHandler
          Reference to content handler.
protected  DTDHandler _dtdHandler
          Reference to dtd handler.
protected  EntityResolver _entityResolver
          Reference to entity resolver.
protected  ErrorHandler _errorHandler
          Reference to error handler.
protected  LexicalHandler _lexicalHandler
          Reference to lexical handler.
protected  int[] _namespaceAttributesStack
           
protected  int _namespaceAttributesStackIndex
           
protected  int[] _namespaceAttributesStartingStack
           
protected  String[] _namespacePrefixes
           
protected  boolean _namespacePrefixesFeature
          SAX Namespace attributes features
protected  int _namespacePrefixesIndex
           
 
Fields inherited from class com.sun.xml.stream.buffer.AbstractProcessor
_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
 
Fields inherited from class com.sun.xml.stream.buffer.AbstractCreatorProcessor
_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 Summary
SAXBufferProcessor()
           
SAXBufferProcessor(XMLStreamBuffer buffer)
          Deprecated. Use SAXBufferProcessor(XMLStreamBuffer, boolean)
SAXBufferProcessor(XMLStreamBuffer buffer, boolean produceFragmentEvent)
           
 
Method Summary
 ContentHandler getContentHandler()
           
 DTDHandler getDTDHandler()
           
 EntityResolver getEntityResolver()
           
 ErrorHandler getErrorHandler()
           
 boolean getFeature(String name)
           
 LexicalHandler getLexicalHandler()
           
 Object getProperty(String name)
           
 void parse(InputSource input)
           
 void parse(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. Use process(XMLStreamBuffer, boolean)
 void process(XMLStreamBuffer buffer, boolean produceFragmentEvent)
          Short-hand for setXMLStreamBuffer(XMLStreamBuffer,boolean) then process().
protected  void processElement(String uri, String localName, String qName, boolean inscope)
           
 void setContentHandler(ContentHandler handler)
           
 void setDTDHandler(DTDHandler handler)
           
 void setEntityResolver(EntityResolver resolver)
           
 void setErrorHandler(ErrorHandler handler)
           
 void setFeature(String name, boolean value)
           
 void setLexicalHandler(LexicalHandler handler)
           
 void setProperty(String name, Object value)
           
 void setXMLStreamBuffer(XMLStreamBuffer buffer)
          Deprecated. Use setXMLStreamBuffer(XMLStreamBuffer, boolean).
 void setXMLStreamBuffer(XMLStreamBuffer buffer, boolean produceFragmentEvent)
          Resets the parser to read from the beginning of the given XMLStreamBuffer.
 
Methods inherited from class com.sun.xml.stream.buffer.AbstractProcessor
getAIIState, getEIIState, getNIIState, getPrefixFromQName, getQName, peekStructure, readContentCharactersBuffer, readContentCharactersCopy, readContentObject, readContentString, readEiiState, readStructure, readStructure16, readStructureString, setBuffer, setBuffer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_entityResolver

protected EntityResolver _entityResolver
Reference to entity resolver.


_dtdHandler

protected DTDHandler _dtdHandler
Reference to dtd handler.


_contentHandler

protected ContentHandler _contentHandler
Reference to content handler.


_errorHandler

protected ErrorHandler _errorHandler
Reference to error handler.


_lexicalHandler

protected LexicalHandler _lexicalHandler
Reference to lexical handler.


_namespacePrefixesFeature

protected boolean _namespacePrefixesFeature
SAX Namespace attributes features


_attributes

protected AttributesHolder _attributes

_namespacePrefixes

protected String[] _namespacePrefixes

_namespacePrefixesIndex

protected int _namespacePrefixesIndex

_namespaceAttributesStartingStack

protected int[] _namespaceAttributesStartingStack

_namespaceAttributesStack

protected int[] _namespaceAttributesStack

_namespaceAttributesStackIndex

protected int _namespaceAttributesStackIndex
Constructor Detail

SAXBufferProcessor

public SAXBufferProcessor()

SAXBufferProcessor

public SAXBufferProcessor(XMLStreamBuffer buffer)
Deprecated. Use SAXBufferProcessor(XMLStreamBuffer, boolean)


SAXBufferProcessor

public SAXBufferProcessor(XMLStreamBuffer buffer,
                          boolean produceFragmentEvent)
Parameters:
produceFragmentEvent - True to generate fragment SAX events without start/endDocument. False to generate a full document SAX events.
Method Detail

getFeature

public boolean getFeature(String name)
                   throws SAXNotRecognizedException,
                          SAXNotSupportedException
Specified by:
getFeature in interface XMLReader
Throws:
SAXNotRecognizedException
SAXNotSupportedException

setFeature

public void setFeature(String name,
                       boolean value)
                throws SAXNotRecognizedException,
                       SAXNotSupportedException
Specified by:
setFeature in interface XMLReader
Throws:
SAXNotRecognizedException
SAXNotSupportedException

getProperty

public Object getProperty(String name)
                   throws SAXNotRecognizedException,
                          SAXNotSupportedException
Specified by:
getProperty in interface XMLReader
Throws:
SAXNotRecognizedException
SAXNotSupportedException

setProperty

public void setProperty(String name,
                        Object value)
                 throws SAXNotRecognizedException,
                        SAXNotSupportedException
Specified by:
setProperty in interface XMLReader
Throws:
SAXNotRecognizedException
SAXNotSupportedException

setEntityResolver

public void setEntityResolver(EntityResolver resolver)
Specified by:
setEntityResolver in interface XMLReader

getEntityResolver

public EntityResolver getEntityResolver()
Specified by:
getEntityResolver in interface XMLReader

setDTDHandler

public void setDTDHandler(DTDHandler handler)
Specified by:
setDTDHandler in interface XMLReader

getDTDHandler

public DTDHandler getDTDHandler()
Specified by:
getDTDHandler in interface XMLReader

setContentHandler

public void setContentHandler(ContentHandler handler)
Specified by:
setContentHandler in interface XMLReader

getContentHandler

public ContentHandler getContentHandler()
Specified by:
getContentHandler in interface XMLReader

setErrorHandler

public void setErrorHandler(ErrorHandler handler)
Specified by:
setErrorHandler in interface XMLReader

getErrorHandler

public ErrorHandler getErrorHandler()
Specified by:
getErrorHandler in interface XMLReader

setLexicalHandler

public void setLexicalHandler(LexicalHandler handler)

getLexicalHandler

public LexicalHandler getLexicalHandler()

parse

public void parse(InputSource input)
           throws IOException,
                  SAXException
Specified by:
parse in interface XMLReader
Throws:
IOException
SAXException

parse

public void parse(String systemId)
           throws IOException,
                  SAXException
Specified by:
parse in interface XMLReader
Throws:
IOException
SAXException

process

public final void process(XMLStreamBuffer buffer)
                   throws SAXException
Deprecated. Use process(XMLStreamBuffer, boolean)

Short-hand for setXMLStreamBuffer(XMLStreamBuffer) then process().

Throws:
SAXException

process

public final void process(XMLStreamBuffer buffer,
                          boolean produceFragmentEvent)
                   throws SAXException
Short-hand for setXMLStreamBuffer(XMLStreamBuffer,boolean) then process().

Parameters:
produceFragmentEvent - True to generate fragment SAX events without start/endDocument. False to generate a full document SAX events.
Throws:
SAXException

setXMLStreamBuffer

public void setXMLStreamBuffer(XMLStreamBuffer buffer)
Deprecated. Use setXMLStreamBuffer(XMLStreamBuffer, boolean).

Resets the parser to read from the beginning of the given XMLStreamBuffer.


setXMLStreamBuffer

public void setXMLStreamBuffer(XMLStreamBuffer buffer,
                               boolean produceFragmentEvent)
Resets the parser to read from the beginning of the given XMLStreamBuffer.

Parameters:
produceFragmentEvent - True to generate fragment SAX events without start/endDocument. False to generate a full document SAX events.

process

public final void process()
                   throws SAXException
Parse the sub-tree (or a whole document) that 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.

Throws:
SAXException - Follow the same semantics as XMLReader.parse(InputSource).

processElement

protected void processElement(String uri,
                              String localName,
                              String qName,
                              boolean inscope)
                       throws SAXException
Throws:
SAXException


Copyright © 2005-2015 Oracle Corporation. All Rights Reserved.