Module com.sun.xml.streambuffer
Package com.sun.xml.stream.buffer.stax
Class StreamReaderBufferProcessor
- java.lang.Object
-
- com.sun.xml.stream.buffer.AbstractCreatorProcessor
-
- com.sun.xml.stream.buffer.AbstractProcessor
-
- com.sun.xml.stream.buffer.stax.StreamReaderBufferProcessor
-
- All Implemented Interfaces:
javax.xml.stream.XMLStreamConstants,javax.xml.stream.XMLStreamReader,org.jvnet.staxex.XMLStreamReaderEx
public class StreamReaderBufferProcessor extends AbstractProcessor implements org.jvnet.staxex.XMLStreamReaderEx
A processor of aXMLStreamBufferthat reads the XML infoset asXMLStreamReader.Because of
XMLStreamReaderdesign, this processor always produce a full document infoset, even if the buffer just contains a fragment.When
XMLStreamBuffercontains a multiple tree (AKA "forest"),XMLStreamReaderwill behave as if there are multiple root elements (so you'll seeXMLStreamConstants.START_ELEMENTevent where you'd normally expectXMLStreamConstants.END_DOCUMENT.)- Author:
- Paul.Sandoz@Sun.Com, K.Venugopal@sun.com
-
-
Field Summary
Fields Modifier and Type Field Description protected AttributesHolder_attributeCacheHolder of the attributes.protected char[]_charactersprotected java.lang.CharSequence_charSequenceprotected int_depthThe element depth that we are in.protected int_eventTypeprotected int_namespaceAIIsEndprotected java.lang.String[]_namespaceAIIsNamespaceNameprotected java.lang.String[]_namespaceAIIsPrefixNamespace prefixes.protected com.sun.xml.stream.buffer.stax.StreamReaderBufferProcessor.InternalNamespaceContext_nsCtxprotected java.lang.String_piDataprotected java.lang.String_piTargetprotected com.sun.xml.stream.buffer.stax.StreamReaderBufferProcessor.ElementStackEntry[]_stackprotected com.sun.xml.stream.buffer.stax.StreamReaderBufferProcessor.ElementStackEntry_stackTopThe top-most active entry of the_stack.protected int_textLenprotected int_textOffset-
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
Constructors Constructor Description StreamReaderBufferProcessor()StreamReaderBufferProcessor(XMLStreamBuffer buffer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()intgetAttributeCount()java.lang.StringgetAttributeLocalName(int index)javax.xml.namespace.QNamegetAttributeName(int index)java.lang.StringgetAttributeNamespace(int index)java.lang.StringgetAttributePrefix(int index)java.lang.StringgetAttributeType(int index)java.lang.StringgetAttributeValue(int index)java.lang.StringgetAttributeValue(java.lang.String namespaceURI, java.lang.String localName)java.lang.StringgetCharacterEncodingScheme()java.lang.StringgetElementText()java.lang.StringgetElementText(boolean startElementRead)java.lang.StringgetElementTextTrim()java.lang.StringgetEncoding()intgetEventType()java.lang.StringgetLocalName()javax.xml.stream.LocationgetLocation()javax.xml.namespace.QNamegetName()org.jvnet.staxex.NamespaceContextExgetNamespaceContext()intgetNamespaceCount()java.lang.StringgetNamespacePrefix(int index)java.lang.StringgetNamespaceURI()java.lang.StringgetNamespaceURI(int index)java.lang.StringgetNamespaceURI(java.lang.String prefix)java.lang.CharSequencegetPCDATA()java.lang.StringgetPIData()java.lang.StringgetPITarget()java.lang.StringgetPrefix()java.lang.ObjectgetProperty(java.lang.String name)java.lang.StringgetText()char[]getTextCharacters()intgetTextCharacters(int sourceStart, char[] target, int targetStart, int length)intgetTextLength()intgetTextStart()java.lang.StringgetVersion()booleanhasName()booleanhasNext()booleanhasText()booleanisAttributeSpecified(int index)booleanisCharacters()booleanisEndElement()booleanisStandalone()booleanisStartElement()booleanisWhiteSpace()intnext()intnextTag()intnextTag(boolean currentTagRead)XMLStreamBuffernextTagAndMark()DoesnextTag()and if the parser moved to a new start tag, returns aXMLStreamBufferMarkthat captures the infoset starting from the newly discovered element.protected voidprocessElement(java.lang.String prefix, java.lang.String uri, java.lang.String localName, boolean inscope)voidrequire(int type, java.lang.String namespaceURI, java.lang.String localName)voidsetXMLStreamBuffer(XMLStreamBuffer buffer)booleanstandaloneSet()-
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
-
-
-
-
Field Detail
-
_stack
protected com.sun.xml.stream.buffer.stax.StreamReaderBufferProcessor.ElementStackEntry[] _stack
-
_stackTop
protected com.sun.xml.stream.buffer.stax.StreamReaderBufferProcessor.ElementStackEntry _stackTop
The top-most active entry of the_stack.
-
_depth
protected int _depth
The element depth that we are in. Used to determine when we are done with a tree.
-
_namespaceAIIsPrefix
protected java.lang.String[] _namespaceAIIsPrefix
Namespace prefixes. Can be empty but not null.
-
_namespaceAIIsNamespaceName
protected java.lang.String[] _namespaceAIIsNamespaceName
-
_namespaceAIIsEnd
protected int _namespaceAIIsEnd
-
_nsCtx
protected com.sun.xml.stream.buffer.stax.StreamReaderBufferProcessor.InternalNamespaceContext _nsCtx
-
_eventType
protected int _eventType
-
_attributeCache
protected AttributesHolder _attributeCache
Holder of the attributes. Be careful that this follows the SAX convention of using "" instead of null.
-
_charSequence
protected java.lang.CharSequence _charSequence
-
_characters
protected char[] _characters
-
_textOffset
protected int _textOffset
-
_textLen
protected int _textLen
-
_piTarget
protected java.lang.String _piTarget
-
_piData
protected java.lang.String _piData
-
-
Constructor Detail
-
StreamReaderBufferProcessor
public StreamReaderBufferProcessor()
-
StreamReaderBufferProcessor
public StreamReaderBufferProcessor(XMLStreamBuffer buffer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
-
Method Detail
-
setXMLStreamBuffer
public void setXMLStreamBuffer(XMLStreamBuffer buffer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
nextTagAndMark
public XMLStreamBuffer nextTagAndMark() throws javax.xml.stream.XMLStreamException
DoesnextTag()and if the parser moved to a new start tag, returns aXMLStreamBufferMarkthat captures the infoset starting from the newly discovered element.(Ideally we should have a method that works against the current position, but the way the data structure is read makes this somewhat difficult.) This creates a new
XMLStreamBufferMarkthat shares the underlying data storage, thus it's fairly efficient.- Throws:
javax.xml.stream.XMLStreamException
-
getProperty
public java.lang.Object getProperty(java.lang.String name)
- Specified by:
getPropertyin interfacejavax.xml.stream.XMLStreamReader
-
next
public int next() throws javax.xml.stream.XMLStreamException- Specified by:
nextin interfacejavax.xml.stream.XMLStreamReader- Throws:
javax.xml.stream.XMLStreamException
-
require
public final void require(int type, java.lang.String namespaceURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException- Specified by:
requirein interfacejavax.xml.stream.XMLStreamReader- Throws:
javax.xml.stream.XMLStreamException
-
getElementTextTrim
public final java.lang.String getElementTextTrim() throws javax.xml.stream.XMLStreamException- Specified by:
getElementTextTrimin interfaceorg.jvnet.staxex.XMLStreamReaderEx- Throws:
javax.xml.stream.XMLStreamException
-
getElementText
public final java.lang.String getElementText() throws javax.xml.stream.XMLStreamException- Specified by:
getElementTextin interfacejavax.xml.stream.XMLStreamReader- Throws:
javax.xml.stream.XMLStreamException
-
getElementText
public final java.lang.String getElementText(boolean startElementRead) throws javax.xml.stream.XMLStreamException- Throws:
javax.xml.stream.XMLStreamException
-
nextTag
public final int nextTag() throws javax.xml.stream.XMLStreamException- Specified by:
nextTagin interfacejavax.xml.stream.XMLStreamReader- Throws:
javax.xml.stream.XMLStreamException
-
nextTag
public final int nextTag(boolean currentTagRead) throws javax.xml.stream.XMLStreamException- Throws:
javax.xml.stream.XMLStreamException
-
hasNext
public final boolean hasNext()
- Specified by:
hasNextin interfacejavax.xml.stream.XMLStreamReader
-
close
public void close() throws javax.xml.stream.XMLStreamException- Specified by:
closein interfacejavax.xml.stream.XMLStreamReader- Throws:
javax.xml.stream.XMLStreamException
-
isStartElement
public final boolean isStartElement()
- Specified by:
isStartElementin interfacejavax.xml.stream.XMLStreamReader
-
isEndElement
public final boolean isEndElement()
- Specified by:
isEndElementin interfacejavax.xml.stream.XMLStreamReader
-
isCharacters
public final boolean isCharacters()
- Specified by:
isCharactersin interfacejavax.xml.stream.XMLStreamReader
-
isWhiteSpace
public final boolean isWhiteSpace()
- Specified by:
isWhiteSpacein interfacejavax.xml.stream.XMLStreamReader
-
getAttributeValue
public final java.lang.String getAttributeValue(java.lang.String namespaceURI, java.lang.String localName)- Specified by:
getAttributeValuein interfacejavax.xml.stream.XMLStreamReader
-
getAttributeCount
public final int getAttributeCount()
- Specified by:
getAttributeCountin interfacejavax.xml.stream.XMLStreamReader
-
getAttributeName
public final javax.xml.namespace.QName getAttributeName(int index)
- Specified by:
getAttributeNamein interfacejavax.xml.stream.XMLStreamReader
-
getAttributeNamespace
public final java.lang.String getAttributeNamespace(int index)
- Specified by:
getAttributeNamespacein interfacejavax.xml.stream.XMLStreamReader
-
getAttributeLocalName
public final java.lang.String getAttributeLocalName(int index)
- Specified by:
getAttributeLocalNamein interfacejavax.xml.stream.XMLStreamReader
-
getAttributePrefix
public final java.lang.String getAttributePrefix(int index)
- Specified by:
getAttributePrefixin interfacejavax.xml.stream.XMLStreamReader
-
getAttributeType
public final java.lang.String getAttributeType(int index)
- Specified by:
getAttributeTypein interfacejavax.xml.stream.XMLStreamReader
-
getAttributeValue
public final java.lang.String getAttributeValue(int index)
- Specified by:
getAttributeValuein interfacejavax.xml.stream.XMLStreamReader
-
isAttributeSpecified
public final boolean isAttributeSpecified(int index)
- Specified by:
isAttributeSpecifiedin interfacejavax.xml.stream.XMLStreamReader
-
getNamespaceCount
public final int getNamespaceCount()
- Specified by:
getNamespaceCountin interfacejavax.xml.stream.XMLStreamReader
-
getNamespacePrefix
public final java.lang.String getNamespacePrefix(int index)
- Specified by:
getNamespacePrefixin interfacejavax.xml.stream.XMLStreamReader
-
getNamespaceURI
public final java.lang.String getNamespaceURI(int index)
- Specified by:
getNamespaceURIin interfacejavax.xml.stream.XMLStreamReader
-
getNamespaceURI
public final java.lang.String getNamespaceURI(java.lang.String prefix)
- Specified by:
getNamespaceURIin interfacejavax.xml.stream.XMLStreamReader
-
getNamespaceContext
public final org.jvnet.staxex.NamespaceContextEx getNamespaceContext()
- Specified by:
getNamespaceContextin interfacejavax.xml.stream.XMLStreamReader- Specified by:
getNamespaceContextin interfaceorg.jvnet.staxex.XMLStreamReaderEx
-
getEventType
public final int getEventType()
- Specified by:
getEventTypein interfacejavax.xml.stream.XMLStreamReader
-
getText
public final java.lang.String getText()
- Specified by:
getTextin interfacejavax.xml.stream.XMLStreamReader
-
getTextCharacters
public final char[] getTextCharacters()
- Specified by:
getTextCharactersin interfacejavax.xml.stream.XMLStreamReader
-
getTextStart
public final int getTextStart()
- Specified by:
getTextStartin interfacejavax.xml.stream.XMLStreamReader
-
getTextLength
public final int getTextLength()
- Specified by:
getTextLengthin interfacejavax.xml.stream.XMLStreamReader
-
getTextCharacters
public final int getTextCharacters(int sourceStart, char[] target, int targetStart, int length) throws javax.xml.stream.XMLStreamException- Specified by:
getTextCharactersin interfacejavax.xml.stream.XMLStreamReader- Throws:
javax.xml.stream.XMLStreamException
-
getPCDATA
public final java.lang.CharSequence getPCDATA()
- Specified by:
getPCDATAin interfaceorg.jvnet.staxex.XMLStreamReaderEx
-
getEncoding
public final java.lang.String getEncoding()
- Specified by:
getEncodingin interfacejavax.xml.stream.XMLStreamReader
-
hasText
public final boolean hasText()
- Specified by:
hasTextin interfacejavax.xml.stream.XMLStreamReader
-
getLocation
public final javax.xml.stream.Location getLocation()
- Specified by:
getLocationin interfacejavax.xml.stream.XMLStreamReader
-
hasName
public final boolean hasName()
- Specified by:
hasNamein interfacejavax.xml.stream.XMLStreamReader
-
getName
public final javax.xml.namespace.QName getName()
- Specified by:
getNamein interfacejavax.xml.stream.XMLStreamReader
-
getLocalName
public final java.lang.String getLocalName()
- Specified by:
getLocalNamein interfacejavax.xml.stream.XMLStreamReader
-
getNamespaceURI
public final java.lang.String getNamespaceURI()
- Specified by:
getNamespaceURIin interfacejavax.xml.stream.XMLStreamReader
-
getPrefix
public final java.lang.String getPrefix()
- Specified by:
getPrefixin interfacejavax.xml.stream.XMLStreamReader
-
getVersion
public final java.lang.String getVersion()
- Specified by:
getVersionin interfacejavax.xml.stream.XMLStreamReader
-
isStandalone
public final boolean isStandalone()
- Specified by:
isStandalonein interfacejavax.xml.stream.XMLStreamReader
-
standaloneSet
public final boolean standaloneSet()
- Specified by:
standaloneSetin interfacejavax.xml.stream.XMLStreamReader
-
getCharacterEncodingScheme
public final java.lang.String getCharacterEncodingScheme()
- Specified by:
getCharacterEncodingSchemein interfacejavax.xml.stream.XMLStreamReader
-
getPITarget
public final java.lang.String getPITarget()
- Specified by:
getPITargetin interfacejavax.xml.stream.XMLStreamReader
-
getPIData
public final java.lang.String getPIData()
- Specified by:
getPIDatain interfacejavax.xml.stream.XMLStreamReader
-
processElement
protected void processElement(java.lang.String prefix, java.lang.String uri, java.lang.String localName, boolean inscope)
-
-