BEA Systems, Inc.


weblogic.apache.xpath.axes
Class OneStepIterator

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.ChildTestIterator
                                |
                                +--weblogic.apache.xpath.axes.OneStepIterator

public class OneStepIterator
extends ChildTestIterator

This class implements a general iterator for those LocationSteps with only one step, and perhaps a predicate.

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 traversal axis from where the nodes will be filtered.
protected  weblogic.apache.xml.dtm.DTMAxisIterator m_iterator
          The DTM inner traversal class, that corresponds to the super axis.
 
Fields inherited from class weblogic.apache.xpath.axes.ChildTestIterator
m_traverser
 
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
OneStepIterator(weblogic.apache.xml.dtm.DTMAxisIterator iterator, int axis)
          Create a OneStepIterator object.
 
Method Summary
 java.lang.Object clone()
          Get a cloned iterator.
protected  void countProximityPosition(int i)
          Count backwards one proximity position.
 int findLastPos(XPathContext xctxt)
          Get the number of nodes in this node list.
 int getAxis()
          Returns the axis being iterated, if it is known.
protected  int getNextNode()
          Get the next node via getFirstAttribute && getNextAttribute.
protected  int getProximityPosition(int predicateIndex)
          Get the current sub-context position.
 boolean isReverseAxes()
          Tells if this is a reverse axes.
 void reset()
          Reset the iterator.
 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.ChildTestIterator
cloneWithReset, nextNode
 
Methods inherited from class weblogic.apache.xpath.axes.LocPathIterator
allowDetachToRelease, asIterator, asNode, bool, detach, execute, 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, setShouldCacheNodes, size
 
Methods inherited from class weblogic.apache.xpath.axes.PredicatedNodeTest
acceptNode, canTraverseOutsideSubtree, fixupVariables, getLocPathIterator, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initPredicateInfo, initProximityPosition, 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_axis

protected int m_axis
The traversal axis from where the nodes will be filtered.

m_iterator

protected weblogic.apache.xml.dtm.DTMAxisIterator m_iterator
The DTM inner traversal class, that corresponds to the super axis.
Constructor Detail

OneStepIterator

public OneStepIterator(weblogic.apache.xml.dtm.DTMAxisIterator iterator,
                       int axis)
                throws javax.xml.transform.TransformerException
Create a OneStepIterator object.

Parameters:
iterator - The DTM iterator which this iterator will use.
axis - One of Axis.Child, etc., or -1 if the axis is unknown.
Throws:
javax.xml.transform.TransformerException -  
Method Detail

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 ChildTestIterator

getNextNode

protected int getNextNode()
Get the next node via getFirstAttribute && getNextAttribute.

Overrides:
getNextNode in class ChildTestIterator

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Get a cloned iterator.

Returns:
A new iterator that can be used without mutating this one.
Throws:
java.lang.CloneNotSupportedException -  
Overrides:
clone in class PredicatedNodeTest

isReverseAxes

public boolean isReverseAxes()
Tells if this is a reverse axes. Overrides AxesWalker#isReverseAxes.

Returns:
true for this class.
Overrides:
isReverseAxes in class PredicatedNodeTest

getProximityPosition

protected int getProximityPosition(int predicateIndex)
Get the current sub-context position. In order to do the reverse axes count, for the moment this re-searches the axes up to the predicate. An optimization on this is to cache the nodes searched, but, for the moment, this case is probably rare enough that the added complexity isn't worth it.

Parameters:
predicateIndex - The predicate index of the proximity position.
Returns:
The pridicate index, or -1.
Overrides:
getProximityPosition in class PredicatedNodeTest

countProximityPosition

protected void countProximityPosition(int i)
Count backwards one proximity position.

Parameters:
i - The predicate index.
Overrides:
countProximityPosition in class PredicatedNodeTest

findLastPos

public int findLastPos(XPathContext xctxt)
Get the number of nodes in this node list. The function is probably ill named?

Parameters:
xctxt - The XPath runtime context.
Returns:
the number of nodes in this node list.
Overrides:
findLastPos in class LocPathIterator

reset

public void reset()
Reset the iterator.

Overrides:
reset 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 ChildTestIterator

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