org.apache.xalan.transformer
Class KeyRefIterator

java.lang.Object
  |
  +--org.apache.xpath.Expression
        |
        +--org.apache.xpath.patterns.NodeTest
              |
              +--org.apache.xpath.axes.PredicatedNodeTest
                    |
                    +--org.apache.xpath.axes.LocPathIterator
                          |
                          +--org.apache.xalan.transformer.KeyRefIterator

public class KeyRefIterator
extends LocPathIterator

**For internal use only** This class implements an optimized iterator for "key()" patterns. It uses a KeyIterator to walk the source tree and incrementally build a list of nodes that match a given key name, match pattern and value.

See Also:
Serialized Form

Fields inherited from class org.apache.xpath.axes.LocPathIterator
m_lastFetched
 
Fields inherited from class org.apache.xpath.patterns.NodeTest
SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, SHOW_NAMESPACE, SUPPORTS_PRE_STRIPPING, WILD
 
Constructor Summary
KeyRefIterator(java.lang.String ref, KeyIterator ki)
          Constructor KeyRefIterator
 
Method Summary
 void addNode(Node node)
          Add a node matching this ref to the cached nodes for this iterator
 java.lang.Object clone()
          Get a cloned LocPathIterator that holds the same position as this iterator.
 QName getName()
          Get key name
 Node nextNode()
          Returns the next node in the set and advances the position of the iterator in the set.
 void reset()
          Reset the iterator.
 
Methods inherited from class org.apache.xpath.axes.LocPathIterator
addToWaitList, canTraverseOutsideSubtree, cloneWithReset, detach, execute, getCachedNodes, getContext, getCurrentContextNode, getCurrentNode, getCurrentPos, getDOMHelper, getExpandEntityReferences, getFilter, getFirstWalker, getFoundLast, getIsTopLevel, getLast, getLastPos, getLastUsedWalker, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, initContext, isFresh, item, previousNode, removeFromWaitList, runTo, setCurrentContextNode, setCurrentPos, setIsTopLevel, setLast, setLastUsedWalker, setShouldCacheNodes, size
 
Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest
acceptNode, getLocPathIterator, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initProximityPosition, isReverseAxes, resetProximityPositions, setLocPathIterator, setPredicateCount
 
Methods inherited from class org.apache.xpath.patterns.NodeTest
debugWhatToShow, execute, getDefaultScore, getLocalName, getNamespace, initNodeTest, initNodeTest
 
Methods inherited from class org.apache.xpath.Expression
assert, error, setSourceLocator, warn
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KeyRefIterator

public KeyRefIterator(java.lang.String ref,
                      KeyIterator ki)
Constructor KeyRefIterator
Parameters:
ref - Key value to match
ki - The main key iterator used to walk the source tree
Method Detail

getName

public QName getName()
Get key name
Returns:
Key name

nextNode

public Node nextNode()
              throws DOMException
Returns the next node in the set and advances the position of the iterator in the set. After a NodeIterator is created, the first call to nextNode() returns the first node in the set.
Returns:
The next Node in the set being iterated over, or null if there are no more members in that set.
Throws:
DOMException - INVALID_STATE_ERR: Raised if this method is called after the detach method was invoked.
Overrides:
nextNode in class LocPathIterator

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Get a cloned LocPathIterator that holds the same position as this iterator.
Returns:
A clone of this iterator that holds the same node position.
Throws:
java.lang.CloneNotSupportedException -  
Overrides:
clone in class LocPathIterator

reset

public void reset()
Reset the iterator.
Overrides:
reset in class LocPathIterator

addNode

public void addNode(Node node)
Add a node matching this ref to the cached nodes for this iterator
Parameters:
node - Node to add to cached nodes


Copyright © 2000 Apache XML Project. All Rights Reserved.