Package net.sf.saxon.om
Class ReverseNodeArrayIterator
java.lang.Object
net.sf.saxon.om.ReverseArrayIterator
net.sf.saxon.om.ReverseNodeArrayIterator
- All Implemented Interfaces:
LastPositionFinder
,ReversibleIterator
,AxisIterator
,LookaheadIterator
,SequenceIterator
,UnfailingIterator
Iterator over an array of nodes in reverse order
-
Field Summary
Fields inherited from interface net.sf.saxon.om.SequenceIterator
GROUNDED, LAST_POSITION_FINDER, LOOKAHEAD
-
Constructor Summary
ConstructorsConstructorDescriptionReverseNodeArrayIterator
(Item[] items, int start, int end) Create a reverse iterator over a slice of an array -
Method Summary
Modifier and TypeMethodDescriptionatomize()
Return the atomized value of the current node.Get another iterator over the same itemsGet an iterator that processes the same items in reverse order.Return the string value of the current node.iterateAxis
(byte axis, NodeTest test) Return an iterator over an axis, starting at the current node.boolean
moveNext()
Move to the next node, without returning it.Methods inherited from class net.sf.saxon.om.ReverseArrayIterator
close, current, getLastPosition, getProperties, hasNext, next, position
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.sf.saxon.om.SequenceIterator
close, getProperties
Methods inherited from interface net.sf.saxon.om.UnfailingIterator
current, next, position
-
Constructor Details
-
ReverseNodeArrayIterator
Create a reverse iterator over a slice of an array- Parameters:
items
- The array of itemsstart
- The first item in the array to be be used (this will be the last one in the resulting iteration). Zero-based.end
- The item after the last one in the array to be used (this will be the first one to be returned by the iterator). Zero-based.
-
-
Method Details
-
moveNext
public boolean moveNext()Move to the next node, without returning it. Returns true if there is a next node, false if the end of the sequence has been reached. After calling this method, the current node may be retrieved using the current() function.- Specified by:
moveNext
in interfaceAxisIterator
-
iterateAxis
Return an iterator over an axis, starting at the current node.- Specified by:
iterateAxis
in interfaceAxisIterator
- Parameters:
axis
- the axis to iterate over, using a constant such asAxis.CHILD
test
- a predicate to apply to the nodes before returning them.- Throws:
NullPointerException
- if there is no current node
-
atomize
Return the atomized value of the current node.- Specified by:
atomize
in interfaceAxisIterator
- Returns:
- the atomized value.
- Throws:
NullPointerException
- if there is no current nodeXPathException
-
getStringValue
Return the string value of the current node.- Specified by:
getStringValue
in interfaceAxisIterator
- Returns:
- the string value, as an instance of CharSequence.
- Throws:
NullPointerException
- if there is no current node
-
getAnother
Get another iterator over the same items- Specified by:
getAnother
in interfaceSequenceIterator
- Specified by:
getAnother
in interfaceUnfailingIterator
- Overrides:
getAnother
in classReverseArrayIterator
- Returns:
- another iterator over the same items, positioned at the start of the sequence
-
getReverseIterator
Get an iterator that processes the same items in reverse order. Since this iterator is processing the items backwards, this method returns an ArrayIterator that processes them forwards.- Specified by:
getReverseIterator
in interfaceReversibleIterator
- Overrides:
getReverseIterator
in classReverseArrayIterator
- Returns:
- a new ArrayIterator
-