org.apache.xpath.axes
Class UnionChildIterator
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.BasicTestIterator
org.apache.xpath.axes.ChildTestIterator
org.apache.xpath.axes.UnionChildIterator
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, javax.xml.transform.SourceLocator, DTMIterator, PathComponent, SubContextList, ExpressionNode, XPathVisitable
public class UnionChildIterator
- extends ChildTestIterator
This class defines a simplified type of union iterator that only
tests along the child axes. If the conditions are right, it is
much faster than using a UnionPathIterator.
- See Also:
- Serialized Form
Field Summary |
private PredicatedNodeTest[] |
m_nodeTests
Even though these may hold full LocPathIterators, this array does
not have to be cloned, since only the node test and predicate
portion are used, and these only need static information. |
(package private) static long |
serialVersionUID
|
Method Summary |
short |
acceptNode(int n)
Test whether a specified node is visible in the logical view of a
TreeWalker or NodeIterator. |
void |
addNodeTest(PredicatedNodeTest test)
Add a node test to the union list. |
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. |
Methods inherited from class org.apache.xpath.axes.LocPathIterator |
allowDetachToRelease, asIterator, asNode, bool, callVisitors, execute, executeCharsToContentHandler, getAnalysisBits, getContext, getCurrentContextNode, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getFilter, getFoundLast, getIsTopLevel, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, isMutable, isNodesetExpr, item, previousNode, reset, returnNextNode, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setNextPosition, setShouldCacheNodes, size |
Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest |
callPredicateVisitors, canTraverseOutsideSubtree, clone, countProximityPosition, deepEquals, executePredicates, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, getProximityPosition, initPredicateInfo, initProximityPosition, isReverseAxes, nodeToString, resetProximityPositions, setLocPathIterator, setPredicateCount |
Methods inherited from class org.apache.xpath.patterns.NodeTest |
calcScore, 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, isSameClass, isStableNumber, num, warn, xstr |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
serialVersionUID
static final long serialVersionUID
- See Also:
- Constant Field Values
m_nodeTests
private PredicatedNodeTest[] m_nodeTests
- Even though these may hold full LocPathIterators, this array does
not have to be cloned, since only the node test and predicate
portion are used, and these only need static information. However,
also note that index predicates can not be used!
UnionChildIterator
public UnionChildIterator()
- Constructor for UnionChildIterator
addNodeTest
public void addNodeTest(PredicatedNodeTest test)
- Add a node test to the union list.
- Parameters:
test
- reference to a NodeTest, which will be added
directly to the list of node tests (in other words, it will
not be cloned). The parent of this test will be set to
this object.
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.
- Overrides:
fixupVariables
in class PredicatedNodeTest
- 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).
acceptNode
public short acceptNode(int n)
- Test whether a specified node is visible in the logical view of a
TreeWalker or NodeIterator. This function will be called by the
implementation of TreeWalker and NodeIterator; it is not intended to
be called directly from user code.
- Overrides:
acceptNode
in class PredicatedNodeTest
- 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 .