BEA Systems, Inc.


weblogic.apache.xpath.axes
Class ReverseAxesWalker

java.lang.Object
  |
  +--weblogic.apache.xpath.Expression
        |
        +--weblogic.apache.xpath.patterns.NodeTest
              |
              +--weblogic.apache.xpath.axes.PredicatedNodeTest
                    |
                    +--weblogic.apache.xpath.axes.AxesWalker
                          |
                          +--weblogic.apache.xpath.axes.ReverseAxesWalker

public class ReverseAxesWalker
extends AxesWalker

Walker for a reverse axes.

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:
XPath 2.4 Predicates, Serialized Form

Field Summary
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.AxesWalker
m_axis, m_nextWalker, m_traverser
 
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
 
Method Summary
protected  void countProximityPosition(int i)
          Count backwards one proximity position.
 int getLastPos(XPathContext xctxt)
          Get the number of nodes in this node list.
protected  int getNextNode()
          Get the next node in document order on the axes.
protected  int getProximityPosition(int predicateIndex)
          Get the current sub-context position.
 boolean isDocOrdered()
          Returns true if all the nodes in the iteration well be returned in document order.
 boolean isReverseAxes()
          Tells if this is a reverse axes.
 void setRoot(int root)
          Set the root node of the TreeWalker.
 
Methods inherited from class weblogic.apache.xpath.axes.AxesWalker
clone, getAxis, getCurrentNode, getDTM, getNextWalker, getPrevWalker, getRoot, init, nextNode, setDefaultDTM, setNextWalker, setPrevWalker, wi
 
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, execute, getDefaultScore, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, getWhatToShow, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShow
 
Methods inherited from class weblogic.apache.xpath.Expression
asIterator, asNode, assertion, bool, error, executeCharsToContentHandler, isNodesetExpr, 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_iterator

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

setRoot

public void setRoot(int root)
Set the root node of the TreeWalker. (Not part of the DOM2 TreeWalker interface).

Parameters:
root - The context node of this step.
Overrides:
setRoot in class AxesWalker

getNextNode

protected int getNextNode()
Get the next node in document order on the axes.

Returns:
the next node in document order on the axes, or null.
Overrides:
getNextNode in class AxesWalker

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

getLastPos

public int getLastPos(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:
getLastPos in class AxesWalker

isDocOrdered

public boolean isDocOrdered()
Returns true if all the nodes in the iteration well be returned in document order. Warning: This can only be called after setRoot has been called!

Returns:
false.
Overrides:
isDocOrdered in class AxesWalker

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