org.apache.xalan.xsltc.dom

## Class MultiValuedNodeHeapIterator.HeapNode

- java.lang.Object
- - org.apache.xalan.xsltc.dom.MultiValuedNodeHeapIterator.HeapNode

All Implemented Interfaces:
  java.lang.Cloneable

Enclosing class:
  MultiValuedNodeHeapIterator

    public abstract class MultiValuedNodeHeapIterator.HeapNode
    extends java.lang.Object
    implements java.lang.Cloneable

An abstract representation of a set of nodes that will be retrieved in document order.

### Constructor Summary

Constructors
Constructor and Description
`MultiValuedNodeHeapIterator.HeapNode()`

### Method Summary

Methods
`MultiValuedNodeHeapIterator.HeapNode` `cloneHeapNode()` Creates a deep copy of this `MultiValuedNodeHeapIterator.HeapNode`.
`void` `gotoMark()` Restores the current node remembered by `setMark()`.
`abstract boolean` `isLessThan(MultiValuedNodeHeapIterator.HeapNode heapNode)` Performs a comparison of the two heap nodes
`abstract MultiValuedNodeHeapIterator.HeapNode` `reset()` Reset the heap node back to its beginning.
`void` `setMark()` Remembers the current node for the next call to `gotoMark()`.
`abstract MultiValuedNodeHeapIterator.HeapNode` `setStartNode(int node)` Sets context with respect to which this heap node is evaluated.
`abstract int` `step()` Advance to the next node represented by this `MultiValuedNodeHeapIterator.HeapNode`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### MultiValuedNodeHeapIterator.HeapNode

    public MultiValuedNodeHeapIterator.HeapNode()

### Method Detail

#### step

    public abstract int step()

Advance to the next node represented by this `MultiValuedNodeHeapIterator.HeapNode`

Returns:
  the next DTM node.

#### cloneHeapNode

    public MultiValuedNodeHeapIterator.HeapNode cloneHeapNode()

Creates a deep copy of this `MultiValuedNodeHeapIterator.HeapNode`. The clone is not reset from the current position of the original.

Returns:
  the cloned heap node

#### setMark

    public void setMark()

Remembers the current node for the next call to `gotoMark()`.

#### gotoMark

    public void gotoMark()

Restores the current node remembered by `setMark()`.

#### isLessThan

    public abstract boolean isLessThan(MultiValuedNodeHeapIterator.HeapNode heapNode)

Performs a comparison of the two heap nodes

Parameters:
  `heapNode` - the heap node against which to compare
Returns:
  `true` if and only if the current node for this heap node is before the current node of the argument heap node in document order.

#### setStartNode

    public abstract MultiValuedNodeHeapIterator.HeapNode setStartNode(int node)

Sets context with respect to which this heap node is evaluated.

Parameters:
  `node` - The new context node
Returns:
  a `MultiValuedNodeHeapIterator.HeapNode` which may or may not be the same as this `HeapNode`.

#### reset

    public abstract MultiValuedNodeHeapIterator.HeapNode reset()

Reset the heap node back to its beginning.

Returns:
  a `MultiValuedNodeHeapIterator.HeapNode` which may or may not be the same as this `HeapNode`.