public class

BinaryStreamReader

extends Object
implements HierarchicalStreamReader
java.lang.Object
   ↳ com.thoughtworks.xstream.io.binary.BinaryStreamReader

Class Overview

A HierarchicalStreamReader that reads from a binary stream created by BinaryStreamWriter.

This produces

Summary

Public Constructors
BinaryStreamReader(InputStream inputStream)
Public Methods
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.
void pushBack(Token token)
HierarchicalStreamReader underlyingReader()
Return the underlying HierarchicalStreamReader implementation.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.thoughtworks.xstream.io.HierarchicalStreamReader

Public Constructors

public BinaryStreamReader (InputStream inputStream)

Public Methods

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

public void close ()

Close the reader, if necessary.

public String getAttribute (int index)

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

public String getAttribute (String name)

Get the value of an attribute of the current node.

public int getAttributeCount ()

Number of attributes in current node.

public String getAttributeName (int index)

Name of attribute in current node.

public Iterator getAttributeNames ()

Names of attributes (as Strings).

public String getNodeName ()

Get the name of the current node.

public String getValue ()

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

public boolean hasMoreChildren ()

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

public void moveDown ()

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

public void moveUp ()

Select the parent node as current node.

public void pushBack (Token token)

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