net.sf.saxon.om
Class NodeArrayIterator

java.lang.Object
  extended by net.sf.saxon.om.ArrayIterator
      extended by net.sf.saxon.om.NodeArrayIterator
All Implemented Interfaces:
LastPositionFinder, ReversibleIterator, AxisIterator, GroundedIterator, LookaheadIterator, SequenceIterator, UnfailingIterator

public class NodeArrayIterator
extends ArrayIterator
implements AxisIterator

An iterator over an array of nodes. This is the same as ArrayIterator, except that the iterator is an AxisIterator


Field Summary
 
Fields inherited from interface net.sf.saxon.om.SequenceIterator
GROUNDED, LAST_POSITION_FINDER, LOOKAHEAD
 
Constructor Summary
NodeArrayIterator(NodeInfo[] nodes)
           
NodeArrayIterator(NodeInfo[] nodes, int start, int end)
           
 
Method Summary
 Value atomize()
          Return the atomized value of the current node.
 SequenceIterator getAnother()
          Get another iterator over the same items
 SequenceIterator getReverseIterator()
          Get an iterator that processes the same items in reverse order
 CharSequence getStringValue()
          Return the string value of the current node.
 AxisIterator 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.ArrayIterator
current, getArray, getEndPosition, getLastPosition, getProperties, getStartPosition, hasNext, makeSliceIterator, materialize, next, position
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.saxon.om.UnfailingIterator
current, next, position
 
Methods inherited from interface net.sf.saxon.om.SequenceIterator
getProperties
 

Constructor Detail

NodeArrayIterator

public NodeArrayIterator(NodeInfo[] nodes)

NodeArrayIterator

public NodeArrayIterator(NodeInfo[] nodes,
                         int start,
                         int end)
Method Detail

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 interface AxisIterator

iterateAxis

public AxisIterator iterateAxis(byte axis,
                                NodeTest test)
Return an iterator over an axis, starting at the current node.

Specified by:
iterateAxis in interface AxisIterator
Parameters:
axis - the axis to iterate over, using a constant such as Axis.CHILD
test - a predicate to apply to the nodes before returning them.
Throws:
NullPointerException - if there is no current node

atomize

public Value atomize()
              throws XPathException
Return the atomized value of the current node.

Specified by:
atomize in interface AxisIterator
Returns:
the atomized value.
Throws:
NullPointerException - if there is no current node
XPathException

getStringValue

public CharSequence getStringValue()
Return the string value of the current node.

Specified by:
getStringValue in interface AxisIterator
Returns:
the string value, as an instance of CharSequence.
Throws:
NullPointerException - if there is no current node

getAnother

public SequenceIterator getAnother()
Get another iterator over the same items

Specified by:
getAnother in interface SequenceIterator
Specified by:
getAnother in interface UnfailingIterator
Overrides:
getAnother in class ArrayIterator
Returns:
a new ArrayIterator

getReverseIterator

public SequenceIterator getReverseIterator()
Get an iterator that processes the same items in reverse order

Specified by:
getReverseIterator in interface ReversibleIterator
Overrides:
getReverseIterator in class ArrayIterator
Returns:
a new ArrayIterator


Copyright (C) Michael H. Kay. All rights reserved.