|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.internet2.middleware.grouperClientExt.com.thoughtworks.xstream.io.ReaderWrapper
public abstract class ReaderWrapper
Base class to make it easy to create wrappers (decorators) for HierarchicalStreamReader.
| Field Summary | |
|---|---|
protected HierarchicalStreamReader |
wrapped
|
| Constructor Summary | |
|---|---|
protected |
ReaderWrapper(HierarchicalStreamReader reader)
|
| Method Summary | |
|---|---|
void |
appendErrors(ErrorWriter errorWriter)
If any errors are detected, allow the reader to add any additional information that can aid debugging (such as line numbers, XPath expressions, etc). |
void |
close()
Close the reader, if necessary. |
String |
getAttribute(int index)
Get the value of an attribute of the current node, by index. |
String |
getAttribute(String name)
Get the value of an attribute of the current node. |
int |
getAttributeCount()
Number of attributes in current node. |
String |
getAttributeName(int index)
Name of attribute in current node. |
Iterator |
getAttributeNames()
Names of attributes (as Strings). |
String |
getNodeName()
Get the name of the current node. |
String |
getValue()
Get the value (text content) of the current node. |
boolean |
hasMoreChildren()
Does the node have any more children remaining that have not yet been read? |
void |
moveDown()
Select the current child as current node. |
void |
moveUp()
Select the parent node as current node. |
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 |
| Field Detail |
|---|
protected HierarchicalStreamReader wrapped
| Constructor Detail |
|---|
protected ReaderWrapper(HierarchicalStreamReader reader)
| Method Detail |
|---|
public boolean hasMoreChildren()
HierarchicalStreamReader
hasMoreChildren in interface HierarchicalStreamReaderpublic void moveDown()
HierarchicalStreamReaderHierarchicalStreamReader.moveUp().
moveDown in interface HierarchicalStreamReaderpublic void moveUp()
HierarchicalStreamReader
moveUp in interface HierarchicalStreamReaderpublic String getNodeName()
HierarchicalStreamReader
getNodeName in interface HierarchicalStreamReaderpublic String getValue()
HierarchicalStreamReader
getValue in interface HierarchicalStreamReaderpublic String getAttribute(String name)
HierarchicalStreamReader
getAttribute in interface HierarchicalStreamReaderpublic String getAttribute(int index)
HierarchicalStreamReader
getAttribute in interface HierarchicalStreamReaderpublic int getAttributeCount()
HierarchicalStreamReader
getAttributeCount in interface HierarchicalStreamReaderpublic String getAttributeName(int index)
HierarchicalStreamReader
getAttributeName in interface HierarchicalStreamReaderpublic Iterator getAttributeNames()
HierarchicalStreamReader
getAttributeNames in interface HierarchicalStreamReaderpublic void appendErrors(ErrorWriter errorWriter)
HierarchicalStreamReader
appendErrors in interface HierarchicalStreamReaderpublic void close()
HierarchicalStreamReader
close in interface HierarchicalStreamReaderpublic HierarchicalStreamReader underlyingReader()
HierarchicalStreamReaderIf 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 HierarchicalStreamReader
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||