Class UnionChildIterator
- All Implemented Interfaces:
Cloneable, SourceLocator, PathComponent, SubContextList, ExpressionNode, DTMIterator, XPathVisitable
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate PredicatedNodeTest[]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.Fields inherited from class ChildTestIterator
m_traverserFields inherited from class LocPathIterator
m_cdtm, m_clones, m_context, m_currentContextNode, m_execContext, m_lastFetched, m_length, m_pos, m_stackFrameFields inherited from class PredicatedNodeTest
DEBUG_PREDICATECOUNTING, m_foundLast, m_lpi, m_predCount, m_predicateIndex, m_proximityPositionsFields inherited from class NodeTest
m_name, m_whatToShow, SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, WILDFields inherited from interface DTMIterator
FILTER_ACCEPT, FILTER_SKIP -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionshortacceptNode(int n) Test whether a specified node is visible in the logical view of a TreeWalker or NodeIterator.voidAdd a node test to the union list.Methods inherited from class ChildTestIterator
cloneWithReset, detach, getAxis, getNextNode, setRootMethods inherited from class BasicTestIterator
nextNodeMethods inherited from class LocPathIterator
asIterator, asNode, bool, callVisitors, execute, getAnalysisBits, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getIsTopLevel, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, item, previousNode, reset, returnNextNode, runTo, setCurrentPos, setIsTopLevel, setShouldCacheNodesMethods inherited from class PredicatedNodeTest
callPredicateVisitors, canTraverseOutsideSubtree, clone, countProximityPosition, deepEquals, executePredicates, getPredicate, getPredicateCount, getProximityPosition, getProximityPosition, getProximityPosition, initPredicateInfo, initProximityPosition, isReverseAxes, nodeToString, resetProximityPositions, setLocPathIterator, setPredicateCountMethods inherited from class NodeTest
calcScore, execute, execute, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShowMethods inherited from class Expression
assertion, error, execute, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isSameClass, isStableNumber, numMethods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface DTMIterator
clone
-
Field Details
-
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!
-
-
Constructor Details
-
UnionChildIterator
public UnionChildIterator()Constructor for UnionChildIterator
-
-
Method Details
-
addNodeTest
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.
-
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:
acceptNodein classPredicatedNodeTest- 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 .
-