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
ConstructorsModifierConstructorDescriptionprotectedAbstractPullReader(NameCoder nameCoder) protectedAbstractPullReader(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.booleanDoes the node have any more children remaining that have not yet been read?voidmark()private voidmove()voidmoveDown()Select the current child as current node.voidmoveUp()Select the parent node as current node.Peek the name of the next child.protected abstract StringPull the name of the current element from the stream.protected abstract intPull the next event from the stream.protected abstract StringpullText()Pull the contents of the current text node from the stream.private AbstractPullReader.Eventprivate AbstractPullReader.Eventvoidreset()Methods inherited from class AbstractXmlReader
escapeXmlName, unescapeXmlNameMethods inherited from class AbstractReader
decodeAttribute, decodeNode, encodeAttribute, encodeNode, underlyingReaderMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface 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,OTHERor 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:HierarchicalStreamReaderDoes the node have any more children remaining that have not yet been read? -
moveDown
public void moveDown()Description copied from interface:HierarchicalStreamReaderSelect 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:HierarchicalStreamReaderSelect 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:HierarchicalStreamReaderGet the value (text content) of the current node. -
getAttributeNames
Description copied from interface:HierarchicalStreamReaderIterator 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:HierarchicalStreamReaderGet the name of the current node. -
peekNextChild
Description copied from interface:ExtendedHierarchicalStreamReaderPeek the name of the next child. In situation whereHierarchicalStreamReader.hasMoreChildren()returns true, peek the tag name of the child.- Specified by:
peekNextChildin interfaceExtendedHierarchicalStreamReader- Overrides:
peekNextChildin classAbstractReader
-
AbstractPullReader(NameCoder)instead