public abstract class AbstractWriter extends java.lang.Object implements ExtendedHierarchicalStreamWriter
HierarchicalStreamWriter
should rather be derived from this class then implementing
the interface directly.Modifier | Constructor and Description |
---|---|
protected |
AbstractWriter()
Creates an AbstractWriter with a NameCoder that does nothing.
|
protected |
AbstractWriter(NameCoder nameCoder)
Creates an AbstractWriter with a provided
NameCoder . |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
encodeAttribute(java.lang.String name)
Encode the attribute name into the name of the target format.
|
java.lang.String |
encodeNode(java.lang.String name)
Encode the node name into the name of the target format.
|
void |
startNode(java.lang.String name,
java.lang.Class clazz) |
HierarchicalStreamWriter |
underlyingWriter()
Return the underlying HierarchicalStreamWriter implementation.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addAttribute, close, endNode, flush, setValue, startNode
protected AbstractWriter()
public void startNode(java.lang.String name, java.lang.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 java.lang.String encodeNode(java.lang.String name)
name
- the original namepublic java.lang.String encodeAttribute(java.lang.String name)
name
- the original nameCopyright © 2004–2024 XStream. All rights reserved.