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
    `HeapNode()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

    - #### HeapNode

          public 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`.

Copyright © 2023 Apache XML Project. All Rights Reserved.