public class DescendingRangeIterator extends net.sf.saxon.expr.RangeIterator implements AtomicIterator, ReversibleIterator, LastPositionFinder, LookaheadIterator
| Constructor and Description |
|---|
DescendingRangeIterator(long start,
long step,
long end)
Create an iterator over a range of integers in monotonic descending order
|
| Modifier and Type | Method and Description |
|---|---|
IntegerValue |
getFirst() |
IntegerValue |
getLast() |
int |
getLength()
Get the last position (that is, the number of items in the sequence).
|
IntegerValue |
getMax() |
IntegerValue |
getMin() |
GroundedValue |
getResidue()
Return a GroundedValue containing all the remaining items in the sequence returned by this
SequenceIterator, starting at the current position.
|
AtomicIterator |
getReverseIterator()
Get a new SequenceIterator that returns the same items in reverse order.
|
IntegerValue |
getStep()
Get the increment between successive values.
|
boolean |
hasNext()
Determine whether there are more items to come.
|
boolean |
isActuallyGrounded()
Ask if the iterator is actually grounded.
|
GroundedValue |
materialize()
Return a GroundedValue containing all the items in the sequence returned by this
SequenceIterator.
|
IntegerValue |
next()
Get the next atomic value in the sequence.
|
boolean |
supportsGetLength()
Ask whether this iterator supports use of the
LastPositionFinder.getLength() method. |
boolean |
supportsHasNext()
Ask whether the hasNext() method can be called.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclose, dischargepublic DescendingRangeIterator(long start,
long step,
long end)
start - the first integer to be delivered (the highest in the range)step - the difference between successive values, supplied as a positive integerend - the last integer to be delivered (the lowest in the range). Must be <= startpublic boolean isActuallyGrounded()
GroundedIteratorGroundedIterator.materialize() or GroundedIterator.getResidue(), because the iterator might
be grounded under some conditions and not others (usually when it delegates
to another iterator)isActuallyGrounded in interface GroundedIteratorpublic GroundedValue materialize()
materialize in interface GroundedIteratormaterialize in class net.sf.saxon.expr.RangeIteratorUncheckedXPathException - in the cases of subclasses (such as the iterator over a MemoClosure)
which cause evaluation of expressions while materializing the value.public GroundedValue getResidue()
getResidue in interface GroundedIteratorgetResidue in class net.sf.saxon.expr.RangeIteratorUncheckedXPathException - in the cases of subclasses (such as the iterator over a MemoClosure)
which cause evaluation of expressions while materializing the value.public IntegerValue getFirst()
public IntegerValue getLast()
public IntegerValue getMin()
public IntegerValue getMax()
public IntegerValue getStep()
public boolean supportsHasNext()
LookaheadIteratorsupportsHasNext in interface LookaheadIteratorLookaheadIterator.hasNext() method is availablepublic boolean hasNext()
LookaheadIteratorThis method must not be called unless the result of LookaheadIterator.supportsHasNext()
is true.
hasNext in interface LookaheadIteratorhasNext in class net.sf.saxon.expr.RangeIteratorpublic IntegerValue next()
AtomicIteratornext in interface SequenceIteratornext in interface AtomicIteratornext in class net.sf.saxon.expr.RangeIteratorpublic boolean supportsGetLength()
LastPositionFinderLastPositionFinder.getLength() method. This
method should always be called before calling LastPositionFinder.getLength(), because an iterator
that implements this interface may support use of LastPositionFinder.getLength() in some situations
and not in otherssupportsGetLength in interface LastPositionFinderLastPositionFinder.getLength() method can be called to determine the length
of the underlying sequence.public int getLength()
LastPositionFinderLastPositionFinder.supportsGetLength() has been called
and has returned true.getLength in interface LastPositionFindergetLength in class net.sf.saxon.expr.RangeIteratorpublic AtomicIterator getReverseIterator()
ReversibleIteratorgetReverseIterator in interface ReversibleIteratorgetReverseIterator in class net.sf.saxon.expr.RangeIteratorCopyright (c) 2004-2022 Saxonica Limited. All rights reserved.