Package org.htmlunit.xpath.axes
Class UnionChildIterator
- java.lang.Object
-
- All Implemented Interfaces:
java.lang.Cloneable
,javax.xml.transform.SourceLocator
,PathComponent
,SubContextList
,ExpressionNode
,DTMIterator
,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.
-
-
Field Summary
Fields Modifier and Type Field Description 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.-
Fields inherited from class org.htmlunit.xpath.axes.ChildTestIterator
m_traverser
-
Fields inherited from class org.htmlunit.xpath.axes.LocPathIterator
m_cdtm, m_clones, m_context, m_currentContextNode, m_execContext, m_lastFetched, m_length, m_pos, m_stackFrame
-
Fields inherited from class org.htmlunit.xpath.axes.PredicatedNodeTest
DEBUG_PREDICATECOUNTING, m_foundLast, m_lpi, m_predCount, m_predicateIndex, m_proximityPositions
-
Fields inherited from class org.htmlunit.xpath.patterns.NodeTest
m_name, m_whatToShow, SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, WILD
-
Fields inherited from interface org.htmlunit.xpath.xml.dtm.DTMIterator
FILTER_ACCEPT, FILTER_SKIP
-
-
Constructor Summary
Constructors Constructor Description UnionChildIterator()
Constructor for UnionChildIterator
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.-
Methods inherited from class org.htmlunit.xpath.axes.ChildTestIterator
cloneWithReset, detach, getAxis, getNextNode, setRoot
-
Methods inherited from class org.htmlunit.xpath.axes.BasicTestIterator
nextNode
-
Methods inherited from class org.htmlunit.xpath.axes.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, setShouldCacheNodes
-
Methods inherited from class org.htmlunit.xpath.axes.PredicatedNodeTest
callPredicateVisitors, canTraverseOutsideSubtree, clone, countProximityPosition, deepEquals, executePredicates, getPredicate, getPredicateCount, getProximityPosition, getProximityPosition, getProximityPosition, initPredicateInfo, initProximityPosition, isReverseAxes, nodeToString, resetProximityPositions, setLocPathIterator, setPredicateCount
-
Methods inherited from class org.htmlunit.xpath.patterns.NodeTest
calcScore, execute, execute, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShow
-
Methods inherited from class org.htmlunit.xpath.Expression
assertion, error, execute, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isSameClass, isStableNumber, num
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.htmlunit.xpath.xml.dtm.DTMIterator
clone
-
-
-
-
Field Detail
-
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!
-
-
Method Detail
-
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.
-
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 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 .
-
-