|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.xpath.Expression org.apache.xpath.patterns.NodeTest org.apache.xpath.axes.PredicatedNodeTest
Nested Class Summary | |
(package private) class |
PredicatedNodeTest.PredOwner
|
Field Summary | |
(package private) static boolean |
DEBUG_PREDICATECOUNTING
If true, diagnostic messages about predicate execution will be posted. |
protected boolean |
m_foundLast
This is true if nextNode returns null. |
protected LocPathIterator |
m_lpi
The owning location path iterator. |
protected int |
m_predCount
|
(package private) int |
m_predicateIndex
Which predicate we are executing. |
private Expression[] |
m_predicates
The list of predicate expressions. |
protected int[] |
m_proximityPositions
An array of counts that correspond to the number of predicates the step contains. |
Fields inherited from class org.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 org.apache.xpath.Expression |
|
Constructor Summary | |
(package private) |
PredicatedNodeTest()
Construct an AxesWalker. |
(package private) |
PredicatedNodeTest(LocPathIterator locPathIterator)
Construct an AxesWalker using a LocPathIterator. |
Method Summary | |
short |
acceptNode(int n)
Test whether a specified node is visible in the logical view of a TreeWalker or NodeIterator. |
void |
callPredicateVisitors(XPathVisitor visitor)
This will traverse the heararchy, calling the visitor for each member. |
boolean |
canTraverseOutsideSubtree()
Tell if this expression or it's subexpressions can traverse outside the current subtree. |
Object |
clone()
Get a cloned PrdicatedNodeTest. |
protected void |
countProximityPosition(int i)
Count forward one proximity position. |
boolean |
deepEquals(Expression expr)
Compare this object with another object and see if they are equal, include the sub heararchy. |
(package private) boolean |
executePredicates(int context,
XPathContext xctxt)
Process the predicates. |
void |
fixupVariables(Vector vars,
int globalsSize)
This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time. |
abstract int |
getLastPos(XPathContext xctxt)
Get the index of the last node that can be itterated to. |
LocPathIterator |
getLocPathIterator()
Get the owning location path iterator. |
Expression |
getPredicate(int index)
Get a predicate expression at the given index. |
int |
getPredicateCount()
Get the number of predicates that this walker has. |
int |
getPredicateIndex()
Get which predicate is executing. |
int |
getProximityPosition()
Get the current sub-context position. |
protected int |
getProximityPosition(int predicateIndex)
Get the current sub-context position. |
int |
getProximityPosition(XPathContext xctxt)
Get the current sub-context position. |
protected void |
initPredicateInfo(Compiler compiler,
int opPos)
Init predicate info. |
void |
initProximityPosition(int i)
Init the proximity position to zero for a forward axes. |
boolean |
isReverseAxes()
Tells if this is a reverse axes. |
protected String |
nodeToString(int n)
Diagnostics. |
private void |
readObject(ObjectInputStream stream)
Read the object from a serialization stream. |
void |
resetProximityPositions()
Reset the proximity positions counts. |
void |
setLocPathIterator(LocPathIterator li)
Set the location path iterator owner for this walker. |
void |
setPredicateCount(int count)
Set the number of predicates that this walker has. |
Methods inherited from class org.apache.xpath.patterns.NodeTest |
calcScore, callVisitors, debugWhatToShow, execute, execute, execute, getDefaultScore, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, getWhatToShow, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShow |
Methods inherited from class org.apache.xpath.Expression |
asIterator, asIteratorRaw, asNode, assertion, bool, error, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isSameClass, isStableNumber, num, warn, xstr |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected int m_predCount
protected transient boolean m_foundLast
protected LocPathIterator m_lpi
transient int m_predicateIndex
private Expression[] m_predicates
protected transient int[] m_proximityPositions
static final boolean DEBUG_PREDICATECOUNTING
Constructor Detail |
PredicatedNodeTest(LocPathIterator locPathIterator)
locPathIterator
- non-null reference to the parent iterator.PredicatedNodeTest()
Method Detail |
private void readObject(ObjectInputStream stream) throws IOException, javax.xml.transform.TransformerException
stream
- Input stream to read from
IOException
javax.xml.transform.TransformerException
public Object clone() throws CloneNotSupportedException
clone
in class Object
CloneNotSupportedException
Cloneable
public int getPredicateCount()
public void setPredicateCount(int count)
count
- The number of predicates, which must be equal or less
than the existing count.protected void initPredicateInfo(Compiler compiler, int opPos) throws javax.xml.transform.TransformerException
compiler
- The Compiler object that has information about this
walker in the op map.opPos
- The op code position of this location step.
javax.xml.transform.TransformerException
public Expression getPredicate(int index)
index
- Index of the predicate.
public int getProximityPosition()
public int getProximityPosition(XPathContext xctxt)
getProximityPosition
in interface SubContextList
xctxt
- The XPath runtime context.
public abstract int getLastPos(XPathContext xctxt)
getLastPos
in interface SubContextList
xctxt
- XPath runtime context.
protected int getProximityPosition(int predicateIndex)
predicateIndex
- The index of the predicate where the proximity
should be taken from.
public void resetProximityPositions()
public void initProximityPosition(int i) throws javax.xml.transform.TransformerException
i
- The index into the m_proximityPositions array.
javax.xml.transform.TransformerException
protected void countProximityPosition(int i)
i
- The index into the m_proximityPositions array, where the increment
will occur.public boolean isReverseAxes()
public int getPredicateIndex()
boolean executePredicates(int context, XPathContext xctxt) throws javax.xml.transform.TransformerException
context
- The current context node.xctxt
- The XPath runtime context.
javax.xml.transform.TransformerException
public void fixupVariables(Vector vars, int globalsSize)
fixupVariables
in class NodeTest
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).protected String nodeToString(int n)
n
- Node to give diagnostic information about, or null.
public short acceptNode(int n)
n
- The node to check to see if it passes the filter or not.
public LocPathIterator getLocPathIterator()
public void setLocPathIterator(LocPathIterator li)
li
- non-null reference to the owning location path iterator.public boolean canTraverseOutsideSubtree()
canTraverseOutsideSubtree
in class Expression
public void callPredicateVisitors(XPathVisitor visitor)
visitor
- The visitor whose appropriate method will be called.public boolean deepEquals(Expression expr)
Expression
deepEquals
in class NodeTest
Expression.deepEquals(Expression)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |