public class BinaryStreamWriter extends java.lang.Object implements ExtendedHierarchicalStreamWriter
| Modifier and Type | Class and Description |
|---|---|
private class |
BinaryStreamWriter.IdRegistry |
| Modifier and Type | Field and Description |
|---|---|
private BinaryStreamWriter.IdRegistry |
idRegistry |
private java.io.DataOutputStream |
out |
private Token.Formatter |
tokenFormatter |
| Constructor and Description |
|---|
BinaryStreamWriter(java.io.OutputStream outputStream) |
| Modifier and Type | Method and Description |
|---|---|
void |
addAttribute(java.lang.String name,
java.lang.String value) |
void |
close()
Close the writer, if necessary.
|
void |
endNode() |
void |
flush()
Flush the writer, if necessary.
|
void |
setValue(java.lang.String text)
Write the value (text content) of the current node.
|
void |
startNode(java.lang.String name) |
void |
startNode(java.lang.String name,
java.lang.Class clazz) |
HierarchicalStreamWriter |
underlyingWriter()
Return the underlying HierarchicalStreamWriter implementation.
|
private void |
write(Token token) |
private final BinaryStreamWriter.IdRegistry idRegistry
private final java.io.DataOutputStream out
private final Token.Formatter tokenFormatter
public void startNode(java.lang.String name)
startNode in interface HierarchicalStreamWriterpublic void startNode(java.lang.String name,
java.lang.Class clazz)
startNode in interface ExtendedHierarchicalStreamWriterpublic void addAttribute(java.lang.String name,
java.lang.String value)
addAttribute in interface HierarchicalStreamWriterpublic void setValue(java.lang.String text)
HierarchicalStreamWritersetValue in interface HierarchicalStreamWriterpublic void endNode()
endNode in interface HierarchicalStreamWriterpublic void flush()
HierarchicalStreamWriterflush in interface HierarchicalStreamWriterpublic void close()
HierarchicalStreamWriterclose in interface HierarchicalStreamWriterpublic HierarchicalStreamWriter underlyingWriter()
HierarchicalStreamWriterIf a Converter needs to access methods of a specific HierarchicalStreamWriter implementation that are not defined in the HierarchicalStreamWriter interface, it should call this method before casting. This is because the writer passed to the Converter is often wrapped/decorated by another implementation to provide additional functionality (such as XPath tracking).
For example:
MySpecificWriter mySpecificWriter = (MySpecificWriter)writer; // INCORRECT! mySpecificWriter.doSomethingSpecific();
MySpecificWriter mySpecificWriter = (MySpecificWriter)writer.underlyingWriter(); // CORRECT! mySpecificWriter.doSomethingSpecific();
Implementations of HierarchicalStreamWriter should return 'this', unless they are a decorator, in which case they should delegate to whatever they are wrapping.
underlyingWriter in interface HierarchicalStreamWriterprivate void write(Token token)