Package org.apache.xml.dtm.ref.sax2dtm
Class SAX2DTM2.AncestorIterator
- java.lang.Object
-
- org.apache.xml.dtm.ref.DTMAxisIteratorBase
-
- org.apache.xml.dtm.ref.DTMDefaultBaseIterators.InternalAxisIteratorBase
-
- org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2.AncestorIterator
-
- All Implemented Interfaces:
java.lang.Cloneable
,DTMAxisIterator
- Direct Known Subclasses:
SAX2DTM2.TypedAncestorIterator
- Enclosing class:
- SAX2DTM2
public class SAX2DTM2.AncestorIterator extends DTMDefaultBaseIterators.InternalAxisIteratorBase
Iterator that returns the ancestors of a given node in document order. (NOTE! This was changed from the XSLTC code!)
-
-
Field Summary
-
Fields inherited from interface org.apache.xml.dtm.DTMAxisIterator
END
-
-
Constructor Summary
Constructors Constructor Description AncestorIterator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DTMAxisIterator
cloneIterator()
Returns a deep copy of this iterator.int
getStartNode()
Get start to END should 'close' the iterator, i.e. subsequent call to next() should return END.void
gotoMark()
Restores the current node remembered by setMark().boolean
isReverse()
True if this iterator has a reversed axis.int
next()
Get the next node in the iteration.DTMAxisIterator
reset()
Resets the iterator to the last start node.void
setMark()
Remembers the current node for the next call to gotoMark().DTMAxisIterator
setStartNode(int node)
Set start to END should 'close' the iterator, i.e. subsequent call to next() should return END.-
Methods inherited from class org.apache.xml.dtm.ref.DTMAxisIteratorBase
getAxis, getLast, getNodeByPosition, getPosition, includeSelf, isDocOrdered, setRestartable
-
-
-
-
Method Detail
-
getStartNode
public int getStartNode()
Get start to END should 'close' the iterator, i.e. subsequent call to next() should return END.- Specified by:
getStartNode
in interfaceDTMAxisIterator
- Overrides:
getStartNode
in classDTMAxisIteratorBase
- Returns:
- The root node of the iteration.
-
isReverse
public final boolean isReverse()
True if this iterator has a reversed axis.- Specified by:
isReverse
in interfaceDTMAxisIterator
- Overrides:
isReverse
in classDTMAxisIteratorBase
- Returns:
- true since this iterator is a reversed axis.
-
cloneIterator
public DTMAxisIterator cloneIterator()
Returns a deep copy of this iterator. The cloned iterator is not reset.- Specified by:
cloneIterator
in interfaceDTMAxisIterator
- Overrides:
cloneIterator
in classDTMAxisIteratorBase
- Returns:
- a deep copy of this iterator.
-
setStartNode
public DTMAxisIterator setStartNode(int node)
Set start to END should 'close' the iterator, i.e. subsequent call to next() should return END.- Parameters:
node
- Sets the root of the iteration.- Returns:
- A DTMAxisIterator set to the start of the iteration.
-
reset
public DTMAxisIterator reset()
Resets the iterator to the last start node.- Specified by:
reset
in interfaceDTMAxisIterator
- Overrides:
reset
in classDTMAxisIteratorBase
- Returns:
- A DTMAxisIterator, which may or may not be the same as this iterator.
-
next
public int next()
Get the next node in the iteration.- Returns:
- The next node handle in the iteration, or END.
-
setMark
public void setMark()
Description copied from class:DTMDefaultBaseIterators.InternalAxisIteratorBase
Remembers the current node for the next call to gotoMark(). %REVIEW% Should this save _position too?- Specified by:
setMark
in interfaceDTMAxisIterator
- Overrides:
setMark
in classDTMDefaultBaseIterators.InternalAxisIteratorBase
-
gotoMark
public void gotoMark()
Description copied from class:DTMDefaultBaseIterators.InternalAxisIteratorBase
Restores the current node remembered by setMark(). %REVEIW% Should this restore _position too?- Specified by:
gotoMark
in interfaceDTMAxisIterator
- Overrides:
gotoMark
in classDTMDefaultBaseIterators.InternalAxisIteratorBase
-
-