public class StreamReaderBufferCreator extends StreamBufferCreator
XMLStreamReader
.
TODO: Implement the marking the stream on the element when an ID attribute on the element is defined
Modifier and Type | Field and Description |
---|---|
private int |
_eventType |
private java.util.Map<java.lang.String,java.lang.Integer> |
_inScopePrefixes |
private boolean |
_storeInScopeNamespacesOnElementFragment |
attributeValuePrefixes
_buffer
_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 |
---|
StreamReaderBufferCreator()
Create a stream reader buffer creator.
|
StreamReaderBufferCreator(MutableXMLStreamBuffer buffer)
Create a stream reader buffer creator using a mutable stream buffer.
|
Modifier and Type | Method and Description |
---|---|
MutableXMLStreamBuffer |
create(javax.xml.stream.XMLStreamReader reader)
Create the buffer from a stream reader.
|
MutableXMLStreamBuffer |
createElementFragment(javax.xml.stream.XMLStreamReader reader,
boolean storeInScopeNamespaces)
Creates the buffer from a stream reader that is an element fragment.
|
private void |
store(javax.xml.stream.XMLStreamReader reader) |
private void |
storeAttributes(javax.xml.stream.XMLStreamReader reader) |
private void |
storeComment(javax.xml.stream.XMLStreamReader reader) |
private void |
storeDocumentAndChildren(javax.xml.stream.XMLStreamReader reader) |
void |
storeElement(java.lang.String nsURI,
java.lang.String localName,
java.lang.String prefix,
java.lang.String[] ns)
A low level method a create a structure element explicitly.
|
private void |
storeElement(javax.xml.stream.XMLStreamReader reader) |
private void |
storeElementAndChildren(javax.xml.stream.XMLStreamReader reader) |
private void |
storeElementAndChildrenEx(org.jvnet.staxex.XMLStreamReaderEx reader) |
private void |
storeElementAndChildrenNoEx(javax.xml.stream.XMLStreamReader reader) |
private void |
storeElementWithInScopeNamespaces(javax.xml.stream.XMLStreamReader reader) |
void |
storeEndElement()
A low level method a create a structure element explicitly.
|
private void |
storeNamespaceAttributes(java.lang.String[] ns) |
private void |
storeNamespaceAttributes(javax.xml.stream.XMLStreamReader reader) |
private void |
storeProcessingInstruction(javax.xml.stream.XMLStreamReader reader) |
getAttributeValuePrefixes, isCheckAttributeValue, setCheckAttributeValue, storeAttribute, storeNamespaceAttribute, storeProcessingInstruction, storeQualifiedName
createBuffer, getXMLStreamBuffer, increaseTreeCount, peekAtContentObject, resizeContentCharacters, resizeContentObjects, resizeStructure, resizeStructureStrings, setBuffer, setHasInternedStrings, setXMLStreamBuffer, storeContentCharacters, storeContentCharactersCopy, storeContentObject, storeContentString, storeStructure, storeStructureString
private int _eventType
private boolean _storeInScopeNamespacesOnElementFragment
private java.util.Map<java.lang.String,java.lang.Integer> _inScopePrefixes
public StreamReaderBufferCreator()
A stream buffer will be created for storing the infoset from a stream reader.
public StreamReaderBufferCreator(MutableXMLStreamBuffer buffer)
buffer
- the mutable stream buffer.public MutableXMLStreamBuffer create(javax.xml.stream.XMLStreamReader reader) throws javax.xml.stream.XMLStreamException
The stream reader must be positioned at the start of the document or the start of an element.
If the stream is positioned at the start of the document then the whole document is stored and after storing the stream will be positioned at the end of the document.
If the stream is positioned at the start of an element then the element and all its children will be stored and after storing the stream will be positioned at the next event after the end of the element.
javax.xml.stream.XMLStreamException
- if the stream reader is not positioned at
the start of the document or at an element.public MutableXMLStreamBuffer createElementFragment(javax.xml.stream.XMLStreamReader reader, boolean storeInScopeNamespaces) throws javax.xml.stream.XMLStreamException
The stream reader will be moved to the position of the next start of an element if the stream reader is not already positioned at the start of an element.
The element and all its children will be stored and after storing the stream will be positioned at the next event after the end of the element.
storeInScopeNamespaces
- true if in-scope namespaces of the element
fragment should be stored.javax.xml.stream.XMLStreamException
- if the stream reader cannot be positioned at
the start of an element.private void store(javax.xml.stream.XMLStreamReader reader) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
private void storeDocumentAndChildren(javax.xml.stream.XMLStreamReader reader) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
private void storeElementAndChildren(javax.xml.stream.XMLStreamReader reader) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
private void storeElementAndChildrenEx(org.jvnet.staxex.XMLStreamReaderEx reader) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
private void storeElementAndChildrenNoEx(javax.xml.stream.XMLStreamReader reader) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
private void storeElementWithInScopeNamespaces(javax.xml.stream.XMLStreamReader reader)
private void storeElement(javax.xml.stream.XMLStreamReader reader)
public void storeElement(java.lang.String nsURI, java.lang.String localName, java.lang.String prefix, java.lang.String[] ns)
ns
- an array of the even length of the form { prefix0, uri0, prefix1, uri1, ... }.public void storeEndElement()
storeElement(javax.xml.stream.XMLStreamReader)
method.
WARNING: Instead of using this, try other methods(if you don't know what
you are doing).private void storeNamespaceAttributes(javax.xml.stream.XMLStreamReader reader)
private void storeNamespaceAttributes(java.lang.String[] ns)
ns
- an array of the even length of the form { prefix0, uri0, prefix1, uri1, ... }.private void storeAttributes(javax.xml.stream.XMLStreamReader reader)
private void storeComment(javax.xml.stream.XMLStreamReader reader)
private void storeProcessingInstruction(javax.xml.stream.XMLStreamReader reader)