Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.thoughtworks.xstream.io
Interface HierarchicalStreamReader

All Known Subinterfaces:
  DocumentReader

All Known Implementing Classes:
  AbstractDocumentReader, AbstractPullReader, AbstractXmlReader, BinaryStreamReader, Dom4JReader, DomReader, JDomReader, PathTrackingReader, ReaderWrapper, StaxReader, XomReader, XppDomReader, XppReader

    public interface HierarchicalStreamReader

Author:
  Joe Walnes

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.

Method Detail

### hasMoreChildren

    boolean hasMoreChildren()

  Does the node have any more children remaining that have not yet been read?

### moveDown

    void moveDown()

  Select the current child as current node. A call to this function must be balanced with a call to `moveUp()`.

### moveUp

    void moveUp()

  Select the parent node as current node.

### getNodeName

    String getNodeName()

  Get the name of the current node.

### getValue

    String getValue()

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

### getAttribute

    String getAttribute(String name)

  Get the value of an attribute of the current node.

### getAttribute

    String getAttribute(int index)

  Get the value of an attribute of the current node, by index.

### getAttributeCount

    int getAttributeCount()

  Number of attributes in current node.

### getAttributeName

    String getAttributeName(int index)

  Name of attribute in current node.

### getAttributeNames

    Iterator getAttributeNames()

  Names of attributes (as Strings).

### appendErrors

    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).

### close

    void close()

  Close the reader, if necessary.

### underlyingReader

    HierarchicalStreamReader underlyingReader()

  Return the underlying HierarchicalStreamReader implementation.

  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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004-2008 XStream. All Rights Reserved.