Package com.thoughtworks.xstream.io
Interface HierarchicalStreamWriter
- All Known Subinterfaces:
DocumentWriter
,ExtendedHierarchicalStreamWriter
- All Known Implementing Classes:
AbstractDocumentWriter
,AbstractJsonWriter
,AbstractWriter
,AbstractXmlWriter
,BinaryStreamWriter
,CompactWriter
,Dom4JWriter
,Dom4JXmlWriter
,DomWriter
,JDom2Writer
,JDomWriter
,JsonHierarchicalStreamWriter
,JsonWriter
,PathTrackingWriter
,PrettyPrintWriter
,SaxWriter
,StatefulWriter
,StaxWriter
,WriterWrapper
,XppDomWriter
public interface HierarchicalStreamWriter
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addAttribute
(String name, String value) void
close()
Close the writer, if necessary.void
endNode()
void
flush()
Flush the writer, if necessary.void
Write the value (text content) of the current node.void
Return the underlying HierarchicalStreamWriter implementation.
-
Method Details
-
startNode
-
addAttribute
-
setValue
Write the value (text content) of the current node. -
endNode
void endNode() -
flush
void flush()Flush the writer, if necessary. -
close
void close()Close the writer, if necessary. -
underlyingWriter
HierarchicalStreamWriter underlyingWriter()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.
-