public interface

HierarchicalStreamWriter

com.thoughtworks.xstream.io.HierarchicalStreamWriter
Known Indirect Subclasses

Summary

Public Methods
abstract void addAttribute(String name, String value)
abstract void close()
Close the writer, if necessary.
abstract void endNode()
abstract void flush()
Flush the writer, if necessary.
abstract void setValue(String text)
Write the value (text content) of the current node.
abstract void startNode(String name)
abstract HierarchicalStreamWriter underlyingWriter()
Return the underlying HierarchicalStreamWriter implementation.

Public Methods

public abstract void addAttribute (String name, String value)

public abstract void close ()

Close the writer, if necessary.

public abstract void endNode ()

public abstract void flush ()

Flush the writer, if necessary.

public abstract void setValue (String text)

Write the value (text content) of the current node.

public abstract void startNode (String name)

public abstract 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.