## net.sf.saxon.tree.iter
Class NodeArrayIterator

    java.lang.Object
      net.sf.saxon.tree.iter.ArrayIterator
          net.sf.saxon.tree.iter.NodeArrayIterator

All Implemented Interfaces:
  LastPositionFinder, SequenceIterator, AxisIterator, GroundedIterator, LookaheadIterator, ReversibleIterator, 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 class net.sf.saxon.tree.iter.ArrayIterator
`end, items, start`

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.tree.iter.ArrayIterator
`close, current, getArray, getEndPosition, getLastPosition, getProperties, getStartPosition, hasNext, makeSliceIterator, materialize, 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.tree.iter.UnfailingIterator
`current, next, position`

Methods inherited from interface net.sf.saxon.om.SequenceIterator
`close, 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) 2004-2010 Saxonica Limited. All rights reserved.