|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.thoughtworks.xstream.io.AbstractWriter
public abstract class AbstractWriter
Abstract base class for all HierarchicalStreamWriter implementations. Implementations of
HierarchicalStreamWriter
should rather be derived from this class then implementing
the interface directly.
Constructor Summary | |
---|---|
protected |
AbstractWriter()
Creates an AbstractWriter with a NameCoder that does nothing. |
protected |
AbstractWriter(NameCoder nameCoder)
Creates an AbstractWriter with a provided NameCoder . |
Method Summary | |
---|---|
String |
encodeAttribute(String name)
Encode the attribute name into the name of the target format. |
String |
encodeNode(String name)
Encode the node name into the name of the target format. |
void |
startNode(String name,
Class clazz)
|
HierarchicalStreamWriter |
underlyingWriter()
Return the underlying HierarchicalStreamWriter implementation. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.thoughtworks.xstream.io.HierarchicalStreamWriter |
---|
addAttribute, close, endNode, flush, setValue, startNode |
Constructor Detail |
---|
protected AbstractWriter()
protected AbstractWriter(NameCoder nameCoder)
NameCoder
.
nameCoder
- the name coder used to write names in the target formatMethod Detail |
---|
public void startNode(String name, Class clazz)
startNode
in interface ExtendedHierarchicalStreamWriter
public HierarchicalStreamWriter underlyingWriter()
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.
underlyingWriter
in interface HierarchicalStreamWriter
public String encodeNode(String name)
name
- the original name
public String encodeAttribute(String name)
name
- the original name
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |