public class AxesWalker extends PredicatedNodeTest implements Cloneable, PathComponent, ExpressionOwner
Modifier and Type | Field and Description |
---|---|
protected int |
m_axis
The traversal axis from where the nodes will be filtered.
|
protected AxesWalker |
m_nextWalker
The next walker in the location step chain.
|
protected DTMAxisTraverser |
m_traverser
The DTM inner traversal class, that corresponds to the super axis.
|
m_foundLast, m_lpi, m_predCount, m_proximityPositions
m_name, m_whatToShow, SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, SUPPORTS_PRE_STRIPPING, WILD
Constructor and Description |
---|
AxesWalker(LocPathIterator locPathIterator,
int axis)
Construct an AxesWalker using a LocPathIterator.
|
Modifier and Type | Method and Description |
---|---|
void |
callVisitors(ExpressionOwner owner,
XPathVisitor visitor)
This will traverse the heararchy, calling the visitor for
each member.
|
Object |
clone()
Get a cloned AxesWalker.
|
boolean |
deepEquals(Expression expr)
Compare this object with another object and see
if they are equal, include the sub heararchy.
|
void |
detach()
Detaches the walker from the set which it iterated over, releasing
any computational resources and placing the iterator in the INVALID
state.
|
int |
getAnalysisBits()
Get the analysis bits for this walker, as defined in the WalkerFactory.
|
int |
getAxis()
Returns the axis being iterated, if it is known.
|
int |
getCurrentNode()
The node at which the TreeWalker is currently positioned.
|
DTM |
getDTM(int node)
Get the DTM for this walker.
|
Expression |
getExpression()
Get the raw Expression object that this class wraps.
|
int |
getLastPos(XPathContext xctxt)
Get the index of the last node that can be itterated to.
|
protected int |
getNextNode()
Get the next node in document order on the axes.
|
AxesWalker |
getNextWalker()
Get the next walker in the location step chain.
|
AxesWalker |
getPrevWalker()
Get the previous walker reference in the location step chain.
|
int |
getRoot()
The root node of the TreeWalker, as specified in setRoot(int root).
|
void |
init(Compiler compiler,
int opPos,
int stepType)
Initialize an AxesWalker during the parse of the XPath expression.
|
boolean |
isDocOrdered()
Returns true if all the nodes in the iteration well be returned in document
order.
|
int |
nextNode()
Moves the
TreeWalker to the next visible node in document
order relative to the current node, and returns the new node. |
void |
setDefaultDTM(DTM dtm)
Set the DTM for this walker.
|
void |
setExpression(Expression exp)
Set the raw expression object for this object.
|
void |
setNextWalker(AxesWalker walker)
Set the next walker in the location step chain.
|
void |
setPrevWalker(AxesWalker walker)
Set or clear the previous walker reference in the location step chain.
|
void |
setRoot(int root)
Set the root node of the TreeWalker.
|
WalkingIterator |
wi() |
acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, countProximityPosition, fixupVariables, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, getProximityPosition, initPredicateInfo, initProximityPosition, isReverseAxes, nodeToString, resetProximityPositions, setLocPathIterator, setPredicateCount
calcScore, debugWhatToShow, execute, execute, execute, getDefaultScore, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, getWhatToShow, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShow
asIterator, asIteratorRaw, asNode, assertion, bool, error, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isSameClass, isStableNumber, num, warn, xstr
protected AxesWalker m_nextWalker
protected int m_axis
protected DTMAxisTraverser m_traverser
public AxesWalker(LocPathIterator locPathIterator, int axis)
locPathIterator
- non-null reference to the parent iterator.public final WalkingIterator wi()
public void init(Compiler compiler, int opPos, int stepType) throws TransformerException
compiler
- The Compiler object that has information about this
walker in the op map.opPos
- The op code position of this location step.stepType
- The type of location step.TransformerException
public Object clone() throws CloneNotSupportedException
clone
in class PredicatedNodeTest
CloneNotSupportedException
public void detach()
public int getRoot()
public int getAnalysisBits()
getAnalysisBits
in interface PathComponent
public void setRoot(int root)
root
- The context node of this step.public final int getCurrentNode()
public void setNextWalker(AxesWalker walker)
walker
- Reference to AxesWalker derivative, or may be null.public AxesWalker getNextWalker()
public void setPrevWalker(AxesWalker walker)
walker
- Reference to previous walker reference in the location
step chain, or null.public AxesWalker getPrevWalker()
protected int getNextNode()
public int nextNode()
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.null
if the current node has no
next node in the TreeWalker's logical view.public int getLastPos(XPathContext xctxt)
getLastPos
in interface SubContextList
getLastPos
in class PredicatedNodeTest
xctxt
- XPath runtime context.public void setDefaultDTM(DTM dtm)
dtm
- Non-null reference to a DTM.public DTM getDTM(int node)
public boolean isDocOrdered()
public int getAxis()
public void callVisitors(ExpressionOwner owner, XPathVisitor visitor)
callVisitors
in interface XPathVisitable
callVisitors
in class NodeTest
owner
- The owner of the visitor, where that path may be
rewritten if needed.visitor
- The visitor whose appropriate method will be called.XPathVisitable.callVisitors(ExpressionOwner, XPathVisitor)
public Expression getExpression()
ExpressionOwner
getExpression
in interface ExpressionOwner
ExpressionOwner.getExpression()
public void setExpression(Expression exp)
ExpressionOwner
setExpression
in interface ExpressionOwner
exp
- the raw Expression object, which should not normally be null.ExpressionOwner.setExpression(Expression)
public boolean deepEquals(Expression expr)
Expression
deepEquals
in class PredicatedNodeTest
expr
- Another expression object.Expression.deepEquals(Expression)
Copyright © 2021 JBoss by Red Hat. All rights reserved.