Package com.thoughtworks.xstream.io.xml
Class AbstractPullReader
java.lang.Object
com.thoughtworks.xstream.io.AbstractReader
com.thoughtworks.xstream.io.xml.AbstractXmlReader
com.thoughtworks.xstream.io.xml.AbstractPullReader
- All Implemented Interfaces:
ErrorReporter
,ExtendedHierarchicalStreamReader
,HierarchicalStreamReader
- Direct Known Subclasses:
StaxReader
,XppReader
Base class that contains common functionality across HierarchicalStreamReader implementations
that need to read from a pull parser.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractPullReader
(NameCoder nameCoder) protected
AbstractPullReader
(XmlFriendlyReplacer replacer) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionIterator with the names of the attributes.Get the name of the current node.getValue()
Get the value (text content) of the current node.boolean
Does the node have any more children remaining that have not yet been read?void
mark()
private void
move()
void
moveDown()
Select the current child as current node.void
moveUp()
Select the parent node as current node.Peek the name of the next child.protected abstract String
Pull the name of the current element from the stream.protected abstract int
Pull the next event from the stream.protected abstract String
pullText()
Pull the contents of the current text node from the stream.private AbstractPullReader.Event
private AbstractPullReader.Event
void
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
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
-
Field Details
-
START_NODE
protected static final int START_NODE- See Also:
-
END_NODE
protected static final int END_NODE- See Also:
-
TEXT
protected static final int TEXT- See Also:
-
COMMENT
protected static final int COMMENT- See Also:
-
OTHER
protected static final int OTHER- See Also:
-
elementStack
-
pool
-
lookahead
-
lookback
-
marked
private boolean marked
-
-
Constructor Details
-
AbstractPullReader
- Since:
- 1.4
-
AbstractPullReader
Deprecated.As of 1.4 useAbstractPullReader(NameCoder)
instead- Since:
- 1.2
-
-
Method Details
-
pullNextEvent
protected abstract int pullNextEvent()Pull the next event from the stream.This MUST return
START_NODE
,END_NODE
,TEXT
,COMMENT
,OTHER
or throwStreamException
.The underlying pull parser will most likely return its own event types. These must be mapped to the appropriate events.
-
pullElementName
Pull the name of the current element from the stream. -
pullText
Pull the contents of the current text node from the stream. -
hasMoreChildren
public boolean hasMoreChildren()Description copied from interface:HierarchicalStreamReader
Does the node have any more children remaining that have not yet been read? -
moveDown
public void moveDown()Description copied from interface:HierarchicalStreamReader
Select the current child as current node. A call to this function must be balanced with a call toHierarchicalStreamReader.moveUp()
. -
moveUp
public void moveUp()Description copied from interface:HierarchicalStreamReader
Select the parent node as current node. -
move
private void move() -
readEvent
-
readRealEvent
-
mark
public void mark() -
reset
public void reset() -
getValue
Description copied from interface:HierarchicalStreamReader
Get the value (text content) of the current node. -
getAttributeNames
Description copied from interface:HierarchicalStreamReader
Iterator with the names of the attributes.Note, the iterator is only valid as long as the internal state of the underlying parser is still at the start of the current element. The behavior is undefined if the parser moved on.
-
getNodeName
Description copied from interface:HierarchicalStreamReader
Get the name of the current node. -
peekNextChild
Description copied from interface:ExtendedHierarchicalStreamReader
Peek the name of the next child. In situation whereHierarchicalStreamReader.hasMoreChildren()
returns true, peek the tag name of the child.- Specified by:
peekNextChild
in interfaceExtendedHierarchicalStreamReader
- Overrides:
peekNextChild
in classAbstractReader
-
AbstractPullReader(NameCoder)
instead