org.apache.xalan.xsltc.dom
Class UnionIterator.LookAheadIterator

java.lang.Object
  extended by org.apache.xalan.xsltc.dom.MultiValuedNodeHeapIterator.HeapNode
      extended by org.apache.xalan.xsltc.dom.UnionIterator.LookAheadIterator
All Implemented Interfaces:
java.lang.Cloneable
Enclosing class:
UnionIterator

private final class UnionIterator.LookAheadIterator
extends MultiValuedNodeHeapIterator.HeapNode


Field Summary
 DTMAxisIterator iterator
           
 
Fields inherited from class org.apache.xalan.xsltc.dom.MultiValuedNodeHeapIterator.HeapNode
_isStartSet, _markedNode, _node
 
Constructor Summary
UnionIterator.LookAheadIterator(DTMAxisIterator iterator)
           
 
Method Summary
 MultiValuedNodeHeapIterator.HeapNode cloneHeapNode()
          Creates a deep copy of this MultiValuedNodeHeapIterator.HeapNode.
 void gotoMark()
          Restores the current node remembered by MultiValuedNodeHeapIterator.HeapNode.setMark().
 boolean isLessThan(MultiValuedNodeHeapIterator.HeapNode heapNode)
          Performs a comparison of the two heap nodes
 MultiValuedNodeHeapIterator.HeapNode reset()
          Reset the heap node back to its beginning.
 void setMark()
          Remembers the current node for the next call to MultiValuedNodeHeapIterator.HeapNode.gotoMark().
 MultiValuedNodeHeapIterator.HeapNode setStartNode(int node)
          Sets context with respect to which this heap node is evaluated.
 int step()
          Advance to the next node represented by this MultiValuedNodeHeapIterator.HeapNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

iterator

public DTMAxisIterator iterator
Constructor Detail

UnionIterator.LookAheadIterator

public UnionIterator.LookAheadIterator(DTMAxisIterator iterator)
Method Detail

step

public int step()
Description copied from class: MultiValuedNodeHeapIterator.HeapNode
Advance to the next node represented by this MultiValuedNodeHeapIterator.HeapNode

Specified by:
step in class MultiValuedNodeHeapIterator.HeapNode
Returns:
the next DTM node.

cloneHeapNode

public MultiValuedNodeHeapIterator.HeapNode cloneHeapNode()
Description copied from class: MultiValuedNodeHeapIterator.HeapNode
Creates a deep copy of this MultiValuedNodeHeapIterator.HeapNode. The clone is not reset from the current position of the original.

Overrides:
cloneHeapNode in class MultiValuedNodeHeapIterator.HeapNode
Returns:
the cloned heap node

setMark

public void setMark()
Description copied from class: MultiValuedNodeHeapIterator.HeapNode
Remembers the current node for the next call to MultiValuedNodeHeapIterator.HeapNode.gotoMark().

Overrides:
setMark in class MultiValuedNodeHeapIterator.HeapNode

gotoMark

public void gotoMark()
Description copied from class: MultiValuedNodeHeapIterator.HeapNode
Restores the current node remembered by MultiValuedNodeHeapIterator.HeapNode.setMark().

Overrides:
gotoMark in class MultiValuedNodeHeapIterator.HeapNode

isLessThan

public boolean isLessThan(MultiValuedNodeHeapIterator.HeapNode heapNode)
Description copied from class: MultiValuedNodeHeapIterator.HeapNode
Performs a comparison of the two heap nodes

Specified by:
isLessThan in class MultiValuedNodeHeapIterator.HeapNode
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 MultiValuedNodeHeapIterator.HeapNode setStartNode(int node)
Description copied from class: MultiValuedNodeHeapIterator.HeapNode
Sets context with respect to which this heap node is evaluated.

Specified by:
setStartNode in class MultiValuedNodeHeapIterator.HeapNode
Parameters:
node - The new context node
Returns:
a MultiValuedNodeHeapIterator.HeapNode which may or may not be the same as this HeapNode.

reset

public MultiValuedNodeHeapIterator.HeapNode reset()
Description copied from class: MultiValuedNodeHeapIterator.HeapNode
Reset the heap node back to its beginning.

Specified by:
reset in class MultiValuedNodeHeapIterator.HeapNode
Returns:
a MultiValuedNodeHeapIterator.HeapNode which may or may not be the same as this HeapNode.