org.apache.xpath.axes
Class FilterExprWalker

java.lang.Object
  |
  +--org.apache.xpath.Expression
        |
        +--org.apache.xpath.patterns.NodeTest
              |
              +--org.apache.xpath.axes.PredicatedNodeTest
                    |
                    +--org.apache.xpath.axes.AxesWalker
                          |
                          +--org.apache.xpath.axes.FilterExprWalker

public class FilterExprWalker
extends AxesWalker

Walker for the OP_VARIABLE, or OP_EXTFUNCTION, or OP_FUNCTION, or OP_GROUP, op codes.

See Also:
XPath FilterExpr descriptions, Serialized Form

Fields inherited from class org.apache.xpath.axes.AxesWalker
FEATURE_NODETESTFILTER
 
Fields inherited from class org.apache.xpath.patterns.NodeTest
SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, SHOW_NAMESPACE, SUPPORTS_PRE_STRIPPING, WILD
 
Constructor Summary
FilterExprWalker(LocPathIterator locPathIterator)
          Construct a FilterExprWalker using a LocPathIterator.
 
Method Summary
 short acceptNode(Node n)
          This method needs to override AxesWalker.acceptNode because FilterExprWalkers don't need to, and shouldn't, do a node test.
 java.lang.Object clone()
          Get a cloned FilterExprWalker.
 Node getNextNode()
          Moves the TreeWalker to the next visible node in document order relative to the current node, and returns the new node.
 void init(Compiler compiler, int opPos, int stepType)
          Init a FilterExprWalker.
 void setRoot(Node root)
          Set the root node of the TreeWalker.
 
Methods inherited from class org.apache.xpath.axes.AxesWalker
canTraverseOutsideSubtree, firstChild, getCurrentNode, getExpandEntityReferences, getFilter, getLastPos, getNextWalker, getPrevWalker, getRoot, lastChild, nextNode, nextSibling, parentNode, previousNode, previousSibling, setCurrentNode, setNextWalker, setPrevWalker, toString
 
Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest
getLocPathIterator, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initProximityPosition, isReverseAxes, resetProximityPositions, setLocPathIterator, setPredicateCount
 
Methods inherited from class org.apache.xpath.patterns.NodeTest
debugWhatToShow, execute, execute, getDefaultScore, getLocalName, getNamespace, getWhatToShow, initNodeTest, initNodeTest
 
Methods inherited from class org.apache.xpath.Expression
assertion, error, setSourceLocator, warn
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FilterExprWalker

public FilterExprWalker(LocPathIterator locPathIterator)
Construct a FilterExprWalker using a LocPathIterator.
Parameters:
locPathIterator - non-null reference to the parent iterator.
Method Detail

init

public void init(Compiler compiler,
                 int opPos,
                 int stepType)
          throws TransformerException
Init a FilterExprWalker.
Parameters:
compiler - non-null reference to the Compiler that is constructing.
opPos - positive opcode position for this step.
stepType - The type of step.
Throws:
TransformerException -  
Overrides:
init in class AxesWalker

setRoot

public void setRoot(Node root)
Set the root node of the TreeWalker.
Parameters:
root - non-null reference to the root, or starting point of the query.
Overrides:
setRoot in class AxesWalker

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Get a cloned FilterExprWalker.
Returns:
A new FilterExprWalker that can be used without mutating this one.
Throws:
java.lang.CloneNotSupportedException -  
Overrides:
clone in class AxesWalker

acceptNode

public short acceptNode(Node n)
This method needs to override AxesWalker.acceptNode because FilterExprWalkers don't need to, and shouldn't, do a node test.
Parameters:
n - The node to check to see if it passes the filter or not.
Returns:
a constant to determine whether the node is accepted, rejected, or skipped, as defined above .
Overrides:
acceptNode in class PredicatedNodeTest

getNextNode

public Node getNextNode()
Moves the TreeWalker to the next visible node in document order relative to the current node, and returns the new node. If the current node has no next node, or if the search for nextNode attempts to step upward from the TreeWalker's root node, returns null , and retains the current node.
Returns:
The new node, or null if the current node has no next node in the TreeWalker's logical view.


Copyright © 2000 Apache XML Project. All Rights Reserved.