|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.thoughtworks.xstream.io.AbstractReader
public abstract class AbstractReader
Abstract base class for all HierarchicalStreamReader implementations. Implementations of
HierarchicalStreamReader should rather be derived from this class then implementing
the interface directly.
| Constructor Summary | |
|---|---|
protected |
AbstractReader()
Creates an AbstractReader with a NameCoder that does nothing. |
protected |
AbstractReader(NameCoder nameCoder)
Creates an AbstractReader with a provided NameCoder. |
| Method Summary | |
|---|---|
String |
decodeAttribute(String name)
Decode an attribute name from the target format. |
String |
decodeNode(String name)
Decode a node name from the target format. |
protected String |
encodeAttribute(String name)
Encode the attribute name again into the name of the target format. |
protected String |
encodeNode(String name)
Encode the node name again into the name of the target format. |
String |
peekNextChild()
Peek the name of the next child. |
HierarchicalStreamReader |
underlyingReader()
Return the underlying HierarchicalStreamReader 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.HierarchicalStreamReader |
|---|
appendErrors, close, getAttribute, getAttribute, getAttributeCount, getAttributeName, getAttributeNames, getNodeName, getValue, hasMoreChildren, moveDown, moveUp |
| Constructor Detail |
|---|
protected AbstractReader()
protected AbstractReader(NameCoder nameCoder)
NameCoder.
nameCoder - the name coder used to read names from the incoming format| Method Detail |
|---|
public HierarchicalStreamReader underlyingReader()
If a Converter needs to access methods of a specific HierarchicalStreamReader implementation that are not defined in the HierarchicalStreamReader interface, it should call this method before casting. This is because the reader passed to the Converter is often wrapped/decorated by another implementation to provide additional functionality (such as XPath tracking).
For example:
MySpecificReader mySpecificReader = (MySpecificReader)reader; // INCORRECT! mySpecificReader.doSomethingSpecific();
MySpecificReader mySpecificReader = (MySpecificReader)reader.underlyingReader(); // CORRECT! mySpecificReader.doSomethingSpecific();
Implementations of HierarchicalStreamReader should return 'this', unless they are a decorator, in which case they should delegate to whatever they are wrapping.
underlyingReader in interface HierarchicalStreamReaderpublic String decodeNode(String name)
name - the name in the target format
public String decodeAttribute(String name)
name - the name in the target format
protected String encodeNode(String name)
name - the original name
protected String encodeAttribute(String name)
name - the original name
public String peekNextChild()
ExtendedHierarchicalStreamReaderHierarchicalStreamReader.hasMoreChildren() returns
true, peek the tag name of the child.
peekNextChild in interface ExtendedHierarchicalStreamReader
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||