org.apache.xpath.axes
Class WalkingIterator

java.lang.Object
  |
  +--org.apache.xpath.Expression
        |
        +--org.apache.xpath.patterns.NodeTest
              |
              +--org.apache.xpath.axes.PredicatedNodeTest
                    |
                    +--org.apache.xpath.axes.LocPathIterator
                          |
                          +--org.apache.xpath.axes.WalkingIterator
Direct Known Subclasses:
WalkingIteratorSorted

public class WalkingIterator
extends LocPathIterator
implements ExpressionOwner

Location path iterator that uses Walkers.

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, SUPPORTS_PRE_STRIPPING, WILD
 
Constructor Summary
WalkingIterator(PrefixResolver nscontext)
          Create a WalkingIterator object.
 
Method Summary
 void callVisitors(ExpressionOwner owner, XPathVisitor visitor)
           
 java.lang.Object clone()
          Get a cloned WalkingIterator that holds the same position as this iterator.
 boolean deepEquals(Expression expr)
           
 void detach()
          Detaches the iterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state.
 void fixupVariables(java.util.Vector vars, int globalsSize)
          This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.
 int getAnalysisBits()
          Get the analysis bits for this walker, as defined in the WalkerFactory.
 Expression getExpression()
           
 AxesWalker getFirstWalker()
          Get the head of the walker list.
 AxesWalker getLastUsedWalker()
          Get the last used walker.
 int nextNode()
          Returns the next node in the set and advances the position of the iterator in the set.
 void reset()
          Reset the iterator.
 void setExpression(Expression exp)
           
 void setFirstWalker(AxesWalker walker)
          Set the head of the walker list.
 void setLastUsedWalker(AxesWalker walker)
          Set the last used walker.
 void setRoot(int context, java.lang.Object environment)
          Initialize the context values for this expression after it is cloned.
 
Methods inherited from class org.apache.xpath.axes.LocPathIterator
allowDetachToRelease, asIterator, asNode, bool, cloneWithReset, execute, executeCharsToContentHandler, getAxis, getContext, getCurrentContextNode, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getFilter, getFoundLast, getIsTopLevel, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, isMutable, isNodesetExpr, item, previousNode, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setShouldCacheNodes, size
 
Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest
acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initProximityPosition, isReverseAxes, resetProximityPositions, setLocPathIterator, setPredicateCount
 
Methods inherited from class org.apache.xpath.patterns.NodeTest
debugWhatToShow, execute, execute, getDefaultScore, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShow
 
Methods inherited from class org.apache.xpath.Expression
asIteratorRaw, assertion, error, execute, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isStableNumber, num, warn, xstr
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WalkingIterator

public WalkingIterator(PrefixResolver nscontext)
Create a WalkingIterator object.
Parameters:
nscontext - The namespace context for this iterator, should be OK if null.
Method Detail

getAnalysisBits

public int getAnalysisBits()
Get the analysis bits for this walker, as defined in the WalkerFactory.
Returns:
One of WalkerFactory#BIT_DESCENDANT, etc.
Overrides:
getAnalysisBits in class LocPathIterator

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Get a cloned WalkingIterator 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

setRoot

public void setRoot(int context,
                    java.lang.Object environment)
Initialize the context values for this expression after it is cloned.
Parameters:
context - The XPath runtime context for this transformation.
Overrides:
setRoot 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.
Overrides:
nextNode in class LocPathIterator

getFirstWalker

public final AxesWalker getFirstWalker()
Get the head of the walker list.
Returns:
The head of the walker list, or null if this iterator does not implement walkers.
Usage:
**For advanced use only**

setFirstWalker

public final void setFirstWalker(AxesWalker walker)
Set the head of the walker list.
Parameters:
walker - Should be a valid AxesWalker.
Usage:
**For advanced use only**

setLastUsedWalker

public final void setLastUsedWalker(AxesWalker walker)
Set the last used walker.
Parameters:
walker - The last used walker, or null.
Usage:
**For advanced use only**

getLastUsedWalker

public final AxesWalker getLastUsedWalker()
Get the last used walker.
Returns:
The last used walker, or null.
Usage:
**For advanced use only**

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

fixupVariables

public void fixupVariables(java.util.Vector vars,
                           int globalsSize)
This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.
Parameters:
vars - List of QNames that correspond to variables. This list should be searched backwards for the first qualified name that corresponds to the variable reference qname. The position of the QName in the vector from the start of the vector will be its position in the stack frame (but variables above the globalsTop value will need to be offset to the current stack frame).
Overrides:
fixupVariables in class PredicatedNodeTest

callVisitors

public void callVisitors(ExpressionOwner owner,
                         XPathVisitor visitor)
Overrides:
callVisitors in class LocPathIterator
See Also:
XPathVisitable.callVisitors(ExpressionOwner, XPathVisitor)

getExpression

public Expression getExpression()
Specified by:
getExpression in interface ExpressionOwner
See Also:
ExpressionOwner.getExpression()

setExpression

public void setExpression(Expression exp)
Specified by:
setExpression in interface ExpressionOwner
See Also:
ExpressionOwner.setExpression(Expression)

deepEquals

public boolean deepEquals(Expression expr)
Overrides:
deepEquals in class PredicatedNodeTest
See Also:
Expression.deepEquals(Expression)


Copyright 2006 Apache XML Project. All Rights Reserved.