Package com.thoughtworks.xstream.io.xml
Class StaxReader
- java.lang.Object
-
- com.thoughtworks.xstream.io.AbstractReader
-
- com.thoughtworks.xstream.io.xml.AbstractXmlReader
-
- com.thoughtworks.xstream.io.xml.AbstractPullReader
-
- com.thoughtworks.xstream.io.xml.StaxReader
-
- All Implemented Interfaces:
ErrorReporter
,ExtendedHierarchicalStreamReader
,HierarchicalStreamReader
public class StaxReader extends AbstractPullReader
A reader using the StAX API.- Version:
- $Revision$
-
-
Field Summary
Fields Modifier and Type Field Description private javax.xml.stream.XMLStreamReader
in
private QNameMap
qnameMap
-
Fields inherited from class com.thoughtworks.xstream.io.xml.AbstractPullReader
COMMENT, END_NODE, OTHER, START_NODE, TEXT
-
-
Constructor Summary
Constructors Constructor Description StaxReader(QNameMap qnameMap, javax.xml.stream.XMLStreamReader in)
StaxReader(QNameMap qnameMap, javax.xml.stream.XMLStreamReader in, NameCoder replacer)
StaxReader(QNameMap qnameMap, javax.xml.stream.XMLStreamReader in, XmlFriendlyReplacer replacer)
Deprecated.As of 1.4 useStaxReader(QNameMap, XMLStreamReader, NameCoder)
instead.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.java.lang.String
getAttribute(int index)
Get the value of an attribute of the current node, by index.java.lang.String
getAttribute(java.lang.String name)
Get the value of an attribute of the current node.int
getAttributeCount()
Number of attributes in current node.java.lang.String
getAttributeName(int index)
Name of attribute in current node.protected java.lang.String
pullElementName()
Pull the name of the current element from the stream.protected int
pullNextEvent()
Pull the next event from the stream.protected java.lang.String
pullText()
Pull the contents of the current text node from the stream.-
Methods inherited from class com.thoughtworks.xstream.io.xml.AbstractPullReader
getAttributeNames, getNodeName, getValue, hasMoreChildren, mark, moveDown, moveUp, peekNextChild, reset
-
Methods inherited from class com.thoughtworks.xstream.io.xml.AbstractXmlReader
escapeXmlName, unescapeXmlName
-
Methods inherited from class com.thoughtworks.xstream.io.AbstractReader
decodeAttribute, decodeNode, encodeAttribute, encodeNode, underlyingReader
-
-
-
-
Field Detail
-
qnameMap
private final QNameMap qnameMap
-
in
private final javax.xml.stream.XMLStreamReader in
-
-
Constructor Detail
-
StaxReader
public StaxReader(QNameMap qnameMap, javax.xml.stream.XMLStreamReader in)
-
StaxReader
public StaxReader(QNameMap qnameMap, javax.xml.stream.XMLStreamReader in, NameCoder replacer)
- Since:
- 1.4
-
StaxReader
public StaxReader(QNameMap qnameMap, javax.xml.stream.XMLStreamReader in, XmlFriendlyReplacer replacer)
Deprecated.As of 1.4 useStaxReader(QNameMap, XMLStreamReader, NameCoder)
instead.- Since:
- 1.2
-
-
Method Detail
-
pullNextEvent
protected int pullNextEvent()
Description copied from class:AbstractPullReader
Pull the next event from the stream.This MUST return
AbstractPullReader.START_NODE
,AbstractPullReader.END_NODE
,AbstractPullReader.TEXT
,AbstractPullReader.COMMENT
,AbstractPullReader.OTHER
or throwStreamException
.The underlying pull parser will most likely return its own event types. These must be mapped to the appropriate events.
- Specified by:
pullNextEvent
in classAbstractPullReader
-
pullElementName
protected java.lang.String pullElementName()
Description copied from class:AbstractPullReader
Pull the name of the current element from the stream.- Specified by:
pullElementName
in classAbstractPullReader
-
pullText
protected java.lang.String pullText()
Description copied from class:AbstractPullReader
Pull the contents of the current text node from the stream.- Specified by:
pullText
in classAbstractPullReader
-
getAttribute
public java.lang.String getAttribute(java.lang.String name)
Description copied from interface:HierarchicalStreamReader
Get the value of an attribute of the current node.If no such attribute exists, the method returns null.
-
getAttribute
public java.lang.String getAttribute(int index)
Description copied from interface:HierarchicalStreamReader
Get the value of an attribute of the current node, by index.Note, the behavior of this method is dependent on the underlying parser when calling it with a non-existing index. Typically some kind of RuntimeException is thrown.
-
getAttributeCount
public int getAttributeCount()
Description copied from interface:HierarchicalStreamReader
Number of attributes in current node.
-
getAttributeName
public java.lang.String getAttributeName(int index)
Description copied from interface:HierarchicalStreamReader
Name of attribute in current node.Note, the behavior of this method is dependent on the underlying parser when calling it with a non-existing index. Typically some kind of RuntimeException is thrown.
-
appendErrors
public void appendErrors(ErrorWriter errorWriter)
Description copied from interface:HierarchicalStreamReader
If any errors are detected, allow the reader to add any additional information that can aid debugging (such as line numbers, XPath expressions, etc).- Parameters:
errorWriter
- the error writer
-
close
public void close()
Description copied from interface:HierarchicalStreamReader
Close the reader, if necessary.
-
-