## com.icl.saxon.om
Class PrependIterator

    java.lang.Object
      com.icl.saxon.om.PrependIterator

All Implemented Interfaces:
  AxisEnumeration, LastPositionFinder, NodeEnumeration

public class PrependIterator
extends java.lang.Object
implements AxisEnumeration

An iterator over nodes, that prepends a given node to the nodes returned by another iterator. Used to modify an iterator over axis A to one that iterates over A-OR-SELF.

Constructor Summary
`PrependIterator(NodeInfo start, AxisEnumeration base)`

Method Summary
`int` `getLastPosition()` Get the last position
`boolean` `hasMoreElements()` Determine whether there are more nodes to come.
`boolean` `isPeer()` Determine whether the nodes returned by this enumeration are known to be peers, that is, no node is a descendant or ancestor of another node.
`boolean` `isReverseSorted()` Determine whether the nodes returned by this enumeration are known to be in reverse document order.
`boolean` `isSorted()` Determine whether the nodes returned by this enumeration are known to be in document order
`NodeInfo` `nextElement()` Get the next item in the sequence.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PrependIterator

    public PrependIterator(NodeInfo start,
                           AxisEnumeration base)

Method Detail

### hasMoreElements

    public boolean hasMoreElements()

  Determine whether there are more nodes to come.
  (Note the term "Element" is used here in the sense of the standard Java Enumeration class, it has nothing to do with XML elements).

  Specified by:
    `hasMoreElements` in interface `AxisEnumeration`
  Returns:
    true if there are more nodes

### nextElement

    public NodeInfo nextElement()

  Get the next item in the sequence.

  Specified by:
    `nextElement` in interface `AxisEnumeration`
  Returns:
    the next Item. If there are no more nodes, return null.

### isPeer

    public boolean isPeer()

  Determine whether the nodes returned by this enumeration are known to be peers, that is, no node is a descendant or ancestor of another node. This significance of this property is that if a peer enumeration is applied to each node in a set derived from another peer enumeration, and if both enumerations are sorted, then the result is also sorted.

  Specified by:
    `isPeer` in interface `NodeEnumeration`

### isReverseSorted

    public boolean isReverseSorted()

  Determine whether the nodes returned by this enumeration are known to be in reverse document order.

  Specified by:
    `isReverseSorted` in interface `NodeEnumeration`
  Returns:
    true if the nodes are guaranteed to be in document order.

### isSorted

    public boolean isSorted()

  Determine whether the nodes returned by this enumeration are known to be in document order

  Specified by:
    `isSorted` in interface `NodeEnumeration`
  Returns:
    true if the nodes are guaranteed to be in document order.

### getLastPosition

    public int getLastPosition()

  Get the last position

  Specified by:
    `getLastPosition` in interface `AxisEnumeration`