BEA Systems, Inc.


weblogic.apache.xpath.axes
Class DescendantIterator

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

public class DescendantIterator
extends LocPathIterator

This class implements an optimized iterator for descendant, descendant-or-self, or "//foo" patterns.

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:
WalkerFactory.newDTMIterator(weblogic.apache.xpath.compiler.Compiler, int, boolean), Serialized Form

Field Summary
protected  int m_axis
          The axis that we are traversing.
protected  int m_extendedTypeID
          The extended type ID, not set until setRoot.
protected  weblogic.apache.xml.dtm.DTMAxisTraverser m_traverser
          The traverser to use to navigate over the descendants.
 
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
DescendantIterator()
          Create a DescendantIterator object.
 
Method Summary
 int asNode(XPathContext xctxt)
          Return the first node out of the nodeset, if this expression is a nodeset expression.
 weblogic.apache.xml.dtm.DTMIterator cloneWithReset()
          Get a cloned Iterator that is reset to the beginning of the query.
 void detach()
          Detaches the iterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state.
 int getAxis()
          Returns the axis being iterated, if it is known.
 int nextNode()
          Returns the next node in the set and advances the position of the iterator in the set.
 void setRoot(int context, java.lang.Object environment)
          Initialize the context values for this expression after it is cloned.
 
Methods inherited from class weblogic.apache.xpath.axes.LocPathIterator
allowDetachToRelease, asIterator, bool, execute, findLastPos, getCachedNodes, getContext, getCurrentContextNode, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getFilter, getFoundLast, getIsTopLevel, getLast, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, isDocOrdered, isFresh, isMutable, isNodesetExpr, item, previousNode, reset, returnNextNode, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setLast, setNextPosition, setShouldCacheNodes, size
 
Methods inherited from class weblogic.apache.xpath.axes.PredicatedNodeTest
acceptNode, canTraverseOutsideSubtree, clone, 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
 

Field Detail

m_traverser

protected transient weblogic.apache.xml.dtm.DTMAxisTraverser m_traverser
The traverser to use to navigate over the descendants.

m_axis

protected int m_axis
The axis that we are traversing.

m_extendedTypeID

protected int m_extendedTypeID
The extended type ID, not set until setRoot.
Constructor Detail

DescendantIterator

public DescendantIterator()
Create a DescendantIterator object.

Parameters:
compiler - A reference to the Compiler that contains the op map.
opPos - The position within the op map, which contains the location path expression for this itterator.
Throws:
javax.xml.transform.TransformerException -  
Method Detail

cloneWithReset

public weblogic.apache.xml.dtm.DTMIterator cloneWithReset()
                                                   throws java.lang.CloneNotSupportedException
Get a cloned Iterator that is reset to the beginning of the query.

Returns:
A cloned NodeIterator set of the start of the query.
Throws:
java.lang.CloneNotSupportedException -  
Overrides:
cloneWithReset in class LocPathIterator

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.
Throws:
DOMException - INVALID_STATE_ERR: Raised if this method is called after the detach method was invoked.
Overrides:
nextNode in class LocPathIterator

setRoot

public void setRoot(int context,
                    java.lang.Object environment)
Initialize the context values for this expression after it is cloned.

Parameters:
execContext - The XPath runtime context for this transformation.
Overrides:
setRoot in class LocPathIterator

asNode

public int asNode(XPathContext xctxt)
           throws javax.xml.transform.TransformerException
Return the first node out of the nodeset, if this expression is a nodeset expression. This is the default implementation for nodesets.

WARNING: Do not mutate this class from this function!

Parameters:
xctxt - The XPath runtime context.
Returns:
the first node out of the nodeset, or DTM.NULL.
Overrides:
asNode 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

getAxis

public int getAxis()
Returns the axis being iterated, if it is known.

Returns:
Axis.CHILD, etc., or -1 if the axis is not known or is of multiple types.
Overrides:
getAxis in class LocPathIterator

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