Package org.apache.xml.dtm.ref
Class DTMDefaultBaseIterators.PrecedingIterator
- java.lang.Object
-
- org.apache.xml.dtm.ref.DTMAxisIteratorBase
-
- org.apache.xml.dtm.ref.DTMDefaultBaseIterators.InternalAxisIteratorBase
-
- org.apache.xml.dtm.ref.DTMDefaultBaseIterators.PrecedingIterator
-
- All Implemented Interfaces:
java.lang.Cloneable
,DTMAxisIterator
- Direct Known Subclasses:
DTMDefaultBaseIterators.TypedPrecedingIterator
- Enclosing class:
- DTMDefaultBaseIterators
public class DTMDefaultBaseIterators.PrecedingIterator extends DTMDefaultBaseIterators.InternalAxisIteratorBase
Iterator that returns preceding nodes of a given node. This includes the node set {root+1, start-1}, but excludes all ancestors, attributes, and namespace nodes.
-
-
Field Summary
-
Fields inherited from interface org.apache.xml.dtm.DTMAxisIterator
END
-
-
Constructor Summary
Constructors Constructor Description PrecedingIterator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DTMAxisIterator
cloneIterator()
Returns a deep copy of this iterator.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, getStartNode, includeSelf, isDocOrdered, setRestartable
-
-
-
-
Method Detail
-
isReverse
public 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.
-
next
public int next()
Get the next node in the iteration.- Returns:
- The next node handle in the iteration, or END.
-
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.
-
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
-
-