|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.om.ArrayIterator
public class ArrayIterator
ArrayIterator is used to enumerate items held in an array. The items are always held in the correct sorted order for the sequence.
Field Summary | |
---|---|
protected int |
end
|
protected Item[] |
items
|
protected int |
start
|
Fields inherited from interface net.sf.saxon.om.SequenceIterator |
---|
GROUNDED, LAST_POSITION_FINDER, LOOKAHEAD |
Constructor Summary | |
---|---|
ArrayIterator(Item[] nodes)
Create an iterator over all the items in an array |
|
ArrayIterator(Item[] items,
int start,
int end)
Create an iterator over a range of an array. |
Method Summary | |
---|---|
void |
close()
Close the iterator. |
Item |
current()
Get the current item in the array |
SequenceIterator |
getAnother()
Get another iterator over the same items |
Item[] |
getArray()
Get the underlying array |
int |
getEndPosition()
Get the end position in the array |
int |
getLastPosition()
Get the number of items in the part of the array being processed |
int |
getProperties()
Get properties of this iterator, as a bit-significant integer. |
SequenceIterator |
getReverseIterator()
Get an iterator that processes the same items in reverse order |
int |
getStartPosition()
Get the initial start position |
boolean |
hasNext()
Test whether there are any more items |
SequenceIterator |
makeSliceIterator(int min,
int max)
Create a new ArrayIterator over the same items, with a different start point and end point |
GroundedValue |
materialize()
Return a SequenceValue containing all the items in the sequence returned by this SequenceIterator |
Item |
next()
Get the next item in the array |
int |
position()
Get the position of the current item in the array |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Item[] items
protected int start
protected int end
Constructor Detail |
---|
public ArrayIterator(Item[] nodes)
nodes
- the array (of any items, not necessarily nodes) to be
processed by the iteratorpublic ArrayIterator(Item[] items, int start, int end)
items
- the array (of nodes or simple values) to be processed by
the iteratorstart
- the position of the first item to be processed
(numbering from zero). Must be between zero and nodes.length-1; if not,
undefined exceptions are likely to occur.end
- position of first item that is NOT returned, zero-based. Must be
beween 1 and nodes.length; if not, undefined exceptions are likely to occur.Method Detail |
---|
public SequenceIterator makeSliceIterator(int min, int max)
min
- the start position (1-based) of the new ArrayIterator
relative to the originalmax
- the end position (1-based) of the last item to be delivered
by the new ArrayIterator, relative to the original. For example, min=2, max=3
delivers the two items ($base[2], $base[3]). Set this to Integer.MAX_VALUE if
there is no end limit.
public boolean hasNext()
hasNext
in interface LookaheadIterator
public Item next()
next
in interface SequenceIterator
next
in interface UnfailingIterator
public Item current()
current
in interface SequenceIterator
current
in interface UnfailingIterator
public int position()
position
in interface SequenceIterator
position
in interface UnfailingIterator
public int getLastPosition()
getLastPosition
in interface LastPositionFinder
public void close()
SequenceIterator
(Currently, closing an iterator is important only when the data is being "pushed" in another thread. Closing the iterator terminates that thread and means that it needs to do no additional work. Indeed, failing to close the iterator may cause the push thread to hang waiting for the buffer to be emptied.)
close
in interface SequenceIterator
public SequenceIterator getAnother()
getAnother
in interface SequenceIterator
getAnother
in interface UnfailingIterator
public SequenceIterator getReverseIterator()
getReverseIterator
in interface ReversibleIterator
public Item[] getArray()
public int getStartPosition()
public int getEndPosition()
public GroundedValue materialize()
materialize
in interface GroundedIterator
public int getProperties()
getProperties
in interface SequenceIterator
SequenceIterator.GROUNDED
, SequenceIterator.LAST_POSITION_FINDER
,
and SequenceIterator.LOOKAHEAD
. It is always
acceptable to return the value zero, indicating that there are no known special properties.
It is acceptable for the properties of the iterator to change depending on its state.
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |