BEA Systems, Inc.


weblogic.apache.xalan.transformer
Class KeyRefIterator

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

public class KeyRefIterator
extends LocPathIterator

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.

This class is based on an implementation from the Apache XML Project. In future releases the XML parser, XSLT processor, and associated classes will likely be updated to be based on a later version of the Apache implementations. Since Apache does not guarantee backwards compatibility between versions of their software, we cannot guarantee backwards compatibility of any of the classes contained in the weblogic.apache package or sub-packages.

See Also:
Serialized Form

Fields inherited from class weblogic.apache.xpath.axes.LocPathIterator
m_cdtm, m_clones, m_context, m_currentContextNode, m_execContext, m_last, m_lastFetched, m_next, m_prefixResolver
 
Fields inherited from class weblogic.apache.xpath.axes.PredicatedNodeTest
m_foundLast, m_lpi, m_predCount, m_proximityPositions
 
Fields inherited from class weblogic.apache.xpath.patterns.NodeTest
m_name, m_whatToShow, SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, SUPPORTS_PRE_STRIPPING, WILD
 
Fields inherited from class weblogic.apache.xpath.Expression
m_slocator
 
Constructor Summary
KeyRefIterator(XMLString ref, KeyIterator ki)
          Constructor KeyRefIterator
 
Method Summary
 void addNode(int 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.
 void detach()
          Detaches the iterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state.
 QName getName()
          Get key name
 int 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 weblogic.apache.xpath.axes.LocPathIterator
allowDetachToRelease, asIterator, asNode, bool, cloneWithReset, execute, findLastPos, getAxis, getCachedNodes, getContext, getCurrentContextNode, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getFilter, getFoundLast, getIsTopLevel, getLast, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, isDocOrdered, isFresh, isMutable, isNodesetExpr, item, previousNode, returnNextNode, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setLast, setNextPosition, setRoot, setShouldCacheNodes, size
 
Methods inherited from class weblogic.apache.xpath.axes.PredicatedNodeTest
acceptNode, canTraverseOutsideSubtree, countProximityPosition, fixupVariables, getLocPathIterator, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, getProximityPosition, initPredicateInfo, initProximityPosition, isReverseAxes, nodeToString, resetProximityPositions, setLocPathIterator, setPredicateCount
 
Methods inherited from class weblogic.apache.xpath.patterns.NodeTest
calcScore, debugWhatToShow, execute, execute, getDefaultScore, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShow
 
Methods inherited from class weblogic.apache.xpath.Expression
assertion, error, executeCharsToContentHandler, isStableNumber, num, setSourceLocator, warn, xstr
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KeyRefIterator

public KeyRefIterator(XMLString 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 int nextNode()
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.
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 PredicatedNodeTest

reset

public void reset()
Reset the iterator.

Overrides:
reset in class LocPathIterator

detach

public void detach()
Detaches the iterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state. Afterdetach has been invoked, calls to nextNode orpreviousNode will raise the exception INVALID_STATE_ERR.

Overrides:
detach in class LocPathIterator

addNode

public void addNode(int node)
Add a node matching this ref to the cached nodes for this iterator

Parameters:
node - Node to add to cached nodes

Documentation is available at
http://download.oracle.com/docs/cd/E13222_01/wls/docs70

Copyright © 2004 BEA Systems, Inc. All Rights Reserved.
WebLogic Server 7.0 API Reference