Package com.thoughtworks.xstream.io
Class WriterWrapper
java.lang.Object
com.thoughtworks.xstream.io.WriterWrapper
- All Implemented Interfaces:
ExtendedHierarchicalStreamWriter
,HierarchicalStreamWriter
- Direct Known Subclasses:
PathTrackingWriter
,StatefulWriter
Base class to make it easy to create wrappers (decorators) for HierarchicalStreamWriter.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAttribute
(String key, 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
void
Return the underlying HierarchicalStreamWriter implementation.
-
Field Details
-
wrapped
-
-
Constructor Details
-
WriterWrapper
-
-
Method Details
-
startNode
- Specified by:
startNode
in interfaceHierarchicalStreamWriter
-
startNode
- Specified by:
startNode
in interfaceExtendedHierarchicalStreamWriter
-
endNode
public void endNode()- Specified by:
endNode
in interfaceHierarchicalStreamWriter
-
addAttribute
- Specified by:
addAttribute
in interfaceHierarchicalStreamWriter
-
setValue
Description copied from interface:HierarchicalStreamWriter
Write the value (text content) of the current node.- Specified by:
setValue
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
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
-