| java.lang.Object com.sun.xml.stream.buffer.XMLStreamBuffer
All known Subclasses: com.sun.xml.stream.buffer.XMLStreamBufferMark, com.sun.xml.stream.buffer.MutableXMLStreamBuffer,
XMLStreamBuffer | abstract public class XMLStreamBuffer (Code) | | An immutable stream-based buffer of an XML infoset.
A XMLStreamBuffer is an abstract class. It is immutable with
respect to the methods on the class, which are non-modifying in terms
of state.
A XMLStreamBuffer can be processed using specific SAX and StAX-based
processors. Utility methods on XMLStreamBuffer are provided for
such functionality that utilize SAX and StAX-based processors.
The same instance of a XMLStreamBuffer may be processed
multiple times and concurrently by more than one processor.
There are two concrete implementations of XMLStreamBuffer.
The first,
MutableXMLStreamBuffer , can be instantiated for the creation
of a buffer using SAX and StAX-based creators, and from which may be
processed as an XMLStreamBuffer. The second,
XMLStreamBufferMark , can be instantiated to mark into an existing
buffer that is being created or processed. This allows a subtree of
XMLStreamBuffer to be treated as its own
XMLStreamBuffer .
A XMLStreamBuffer can represent a complete XML infoset or a subtree
of an XML infoset. It is also capable of representing a "forest",
where the buffer represents multiple adjacent XML elements, although
in this mode there are restrictions about how you can consume such
forest, because not all XML APIs handle forests very well.
|
Method Summary | |
public static XMLStreamBuffer | createNewBufferFromXMLReader(XMLReader reader, InputStream in) Create a new buffer from a
XMLReader and
InputStream .
Parameters: reader - The XMLReader to use for parsing. Parameters: in - The InputStream to be parsed. | public static XMLStreamBuffer | createNewBufferFromXMLReader(XMLReader reader, InputStream in, String systemId) Create a new buffer from a
XMLReader and
InputStream .
Parameters: reader - The XMLReader to use for parsing. Parameters: in - The InputStream to be parsed. Parameters: systemId - The system ID of the input stream. | public static XMLStreamBuffer | createNewBufferFromXMLStreamReader(XMLStreamReader reader) Create a new buffer from a XMLStreamReader.
Parameters: reader - A XMLStreamReader to read from to create. | final protected FragmentedArray<char[]> | getContentCharactersBuffer() | final protected int | getContentCharactersBufferPtr() | final protected FragmentedArray<Object[]> | getContentObjects() | final protected int | getContentObjectsPtr() | final public Map<String, String> | getInscopeNamespaces() Get the in-scope namespaces.
The in-scope namespaces will be empty if the buffer is not a
fragment (
XMLStreamBuffer.isFragment returns false ).
The in-scope namespace will correspond to the in-scope namespaces of the
fragment if the buffer is a fragment (
XMLStreamBuffer.isFragment returns false ). | final protected FragmentedArray<byte[]> | getStructure() | final protected int | getStructurePtr() | final protected FragmentedArray<String[]> | getStructureStrings() | final protected int | getStructureStringsPtr() | final public String | getSystemId() Get the system identifier associated with the buffer. | final public boolean | hasInternedStrings() Has the buffer been created using Strings that have been interned
for certain properties of information items. | final public boolean | isCreated() Is the buffer created by creator. | final public boolean | isElementFragment() Is the buffer a representation of a fragment of an XML infoset
that is an element (and its contents). | final public boolean | isForest() Returns ture if this buffer represents a forest, which is
are more than one adjacent XML elements. | final public boolean | isFragment() Is the buffer a representation of a fragment of an XML infoset. | final public SAXBufferProcessor | readAsXMLReader() Reads the contents of the buffer from a
XMLReader . | final public SAXBufferProcessor | readAsXMLReader(boolean produceFragmentEvent) Reads the contents of the buffer from a
XMLReader . | final public StreamReaderBufferProcessor | readAsXMLStreamReader() Read the contents of the buffer as a
XMLStreamReader .
A an instance of a StreamReaderBufferProcessor. | final public void | writeTo(ContentHandler handler, boolean produceFragmentEvent) Write the contents of the buffer to a
ContentHandler . | final public void | writeTo(ContentHandler handler) | final public void | writeTo(ContentHandler handler, ErrorHandler errorHandler, boolean produceFragmentEvent) Write the contents of the buffer to a
ContentHandler with errors
report to a
ErrorHandler . | final public void | writeTo(ContentHandler handler, ErrorHandler errorHandler) | final public Node | writeTo(Node n) Writes out the contents of this buffer as DOM node and append that to the given node. | final public void | writeToXMLStreamWriter(XMLStreamWriter writer, boolean writeAsFragment) Write the contents of the buffer to an XMLStreamWriter.
The XMLStreamBuffer will be written out to the XMLStreamWriter using
an instance of
StreamWriterBufferProcessor .
Parameters: writer - A XMLStreamWriter to write to. Parameters: writeAsFragment - If true, XMLStreamWriter will not receive XMLStreamWriter.writeStartDocumentnor XMLStreamWriter.writeEndDocument. | final public void | writeToXMLStreamWriter(XMLStreamWriter writer) |
_contentCharactersBuffer | protected FragmentedArray<char[]> _contentCharactersBuffer(Code) | | Fragmented array to hold content information in a shared char[]
|
_contentCharactersBufferPtr | protected int _contentCharactersBufferPtr(Code) | | |
_contentObjectsPtr | protected int _contentObjectsPtr(Code) | | |
_hasInternedStrings | protected boolean _hasInternedStrings(Code) | | True if the buffer was created from a parser that interns Strings
as specified by the SAX interning features
|
_inscopeNamespaces | protected Map<String, String> _inscopeNamespaces(Code) | | In scope namespaces on a fragment
|
_structure | protected FragmentedArray<byte[]> _structure(Code) | | Fragmented array to hold structural information
|
_structurePtr | protected int _structurePtr(Code) | | |
_structureStrings | protected FragmentedArray<String[]> _structureStrings(Code) | | Fragmented array to hold structural information as strings
|
_structureStringsPtr | protected int _structureStringsPtr(Code) | | |
systemId | protected String systemId(Code) | | The system identifier associated with the buffer
|
treeCount | protected int treeCount(Code) | | Number of trees in this stream buffer.
1 if there's only one, which is the normal case. When the buffer
holds a forest, this value is greater than 1. If the buffer is empty, then 0.
Notice that we cannot infer this value by looking at the
FragmentedArray s,
because this
XMLStreamBuffer maybe a view of a portion of another bigger
XMLStreamBuffer .
|
getContentCharactersBufferPtr | final protected int getContentCharactersBufferPtr()(Code) | | |
getContentObjectsPtr | final protected int getContentObjectsPtr()(Code) | | |
getInscopeNamespaces | final public Map<String, String> getInscopeNamespaces()(Code) | | Get the in-scope namespaces.
The in-scope namespaces will be empty if the buffer is not a
fragment (
XMLStreamBuffer.isFragment returns false ).
The in-scope namespace will correspond to the in-scope namespaces of the
fragment if the buffer is a fragment (
XMLStreamBuffer.isFragment returns false ). The in-scope namespaces will include any
namespace delcarations on an element if the fragment correspond to that
of an element (
XMLStreamBuffer.isElementFragment returns false ).
The in-scope namespaces of the XMLStreamBuffer.Prefix to namespace URI. |
getStructurePtr | final protected int getStructurePtr()(Code) | | |
getStructureStringsPtr | final protected int getStructureStringsPtr()(Code) | | |
getSystemId | final public String getSystemId()(Code) | | Get the system identifier associated with the buffer.
The system identifier. |
hasInternedStrings | final public boolean hasInternedStrings()(Code) | | Has the buffer been created using Strings that have been interned
for certain properties of information items. The Strings that are interned
are those that correspond to Strings that are specified by the SAX API
"string-interning" property
(see here).
An buffer may have been created, for example, from an XML document parsed
using the Xerces SAX parser. The Xerces SAX parser will have interned certain Strings
according to the SAX string interning property.
This method enables processors to avoid the duplication of
String interning if such a feature is required by a procesing application and the
buffer being processed was created using Strings that have been interned.
true if the buffer has been created using Strings thathave been interned. |
isCreated | final public boolean isCreated()(Code) | | Is the buffer created by creator.
true if the buffer has been created. |
isElementFragment | final public boolean isElementFragment()(Code) | | Is the buffer a representation of a fragment of an XML infoset
that is an element (and its contents).
true if the buffer a representationof a fragment of an XML infoset that is an element (and its contents). |
isForest | final public boolean isForest()(Code) | | Returns ture if this buffer represents a forest, which is
are more than one adjacent XML elements.
|
isFragment | final public boolean isFragment()(Code) | | Is the buffer a representation of a fragment of an XML infoset.
true if the buffer is a representation of a fragmentof an XML infoset. |
readAsXMLReader | final public SAXBufferProcessor readAsXMLReader(boolean produceFragmentEvent)(Code) | | Reads the contents of the buffer from a
XMLReader .
Parameters: produceFragmentEvent - True to generate fragment SAX events without start/endDocument.False to generate a full document SAX events.A an instance of a SAXBufferProcessor. |
writeTo | final public void writeTo(ContentHandler handler, boolean produceFragmentEvent) throws SAXException(Code) | | Write the contents of the buffer to a
ContentHandler .
If the handler is also an instance of other SAX-based
handlers, such as
LexicalHandler , than corresponding SAX events
will be reported to those handlers.
Parameters: handler - The ContentHandler to receive SAX events. Parameters: produceFragmentEvent - True to generate fragment SAX events without start/endDocument.False to generate a full document SAX events. throws: SAXException - if a parsing fails, or if ContentHandler throws a SAXException. |
writeTo | final public Node writeTo(Node n) throws XMLStreamBufferException(Code) | | Writes out the contents of this buffer as DOM node and append that to the given node.
Faster implementation would be desirable.
The newly added child node. |
|
|