Class BinaryStreamWriter
- java.lang.Object
-
- com.thoughtworks.xstream.io.binary.BinaryStreamWriter
-
- All Implemented Interfaces:
ExtendedHierarchicalStreamWriter
,HierarchicalStreamWriter
public class BinaryStreamWriter extends java.lang.Object implements ExtendedHierarchicalStreamWriter
- Since:
- 1.2
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
BinaryStreamWriter.IdRegistry
-
Field Summary
Fields Modifier and Type Field Description private BinaryStreamWriter.IdRegistry
idRegistry
private java.io.DataOutputStream
out
private Token.Formatter
tokenFormatter
-
Constructor Summary
Constructors Constructor Description BinaryStreamWriter(java.io.OutputStream outputStream)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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)
-
-
-
Field Detail
-
idRegistry
private final BinaryStreamWriter.IdRegistry idRegistry
-
out
private final java.io.DataOutputStream out
-
tokenFormatter
private final Token.Formatter tokenFormatter
-
-
Method Detail
-
startNode
public void startNode(java.lang.String name)
- Specified by:
startNode
in interfaceHierarchicalStreamWriter
-
startNode
public void startNode(java.lang.String name, java.lang.Class clazz)
- Specified by:
startNode
in interfaceExtendedHierarchicalStreamWriter
-
addAttribute
public void addAttribute(java.lang.String name, java.lang.String value)
- Specified by:
addAttribute
in interfaceHierarchicalStreamWriter
-
setValue
public void setValue(java.lang.String text)
Description copied from interface:HierarchicalStreamWriter
Write the value (text content) of the current node.- Specified by:
setValue
in interfaceHierarchicalStreamWriter
-
endNode
public void endNode()
- Specified by:
endNode
in interfaceHierarchicalStreamWriter
-
flush
public void flush()
Description copied from interface:HierarchicalStreamWriter
Flush the writer, if necessary.- Specified by:
flush
in interfaceHierarchicalStreamWriter
-
close
public void close()
Description copied from interface:HierarchicalStreamWriter
Close the writer, if necessary.- Specified by:
close
in interfaceHierarchicalStreamWriter
-
underlyingWriter
public HierarchicalStreamWriter underlyingWriter()
Description copied from interface:HierarchicalStreamWriter
Return the underlying HierarchicalStreamWriter implementation.If 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.
- Specified by:
underlyingWriter
in interfaceHierarchicalStreamWriter
-
write
private void write(Token token)
-
-