Package org.htmlunit.xpath.axes
Class BasicTestIterator
- java.lang.Object
-
- org.htmlunit.xpath.Expression
-
- org.htmlunit.xpath.patterns.NodeTest
-
- org.htmlunit.xpath.axes.PredicatedNodeTest
-
- org.htmlunit.xpath.axes.LocPathIterator
-
- org.htmlunit.xpath.axes.BasicTestIterator
-
- All Implemented Interfaces:
java.lang.Cloneable
,javax.xml.transform.SourceLocator
,PathComponent
,SubContextList
,ExpressionNode
,DTMIterator
,XPathVisitable
- Direct Known Subclasses:
ChildTestIterator
public abstract class BasicTestIterator extends LocPathIterator
Base for iterators that handle predicates. Does the basic next node logic, so all the derived iterator has to do is get the next node.
-
-
Field Summary
-
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 Modifier Constructor Description protected
BasicTestIterator(Compiler compiler, int opPos, int analysis)
Create a LocPathIterator object, including creation of step walkers from the opcode list, and call back into the Compiler to create predicate expressions.protected
BasicTestIterator(PrefixResolver nscontext)
Create a LocPathIterator object.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description DTMIterator
cloneWithReset()
Get a cloned Iterator that is reset to the start of the iteration.protected abstract int
getNextNode()
Get the next node via getNextXXX.int
nextNode()
Returns the next node in the set and advances the position of the iterator in the set.-
Methods inherited from class org.htmlunit.xpath.axes.LocPathIterator
asIterator, asNode, bool, callVisitors, detach, execute, getAnalysisBits, getAxis, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getIsTopLevel, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, item, previousNode, reset, returnNextNode, runTo, setCurrentPos, setIsTopLevel, setRoot, setShouldCacheNodes
-
Methods inherited from class org.htmlunit.xpath.axes.PredicatedNodeTest
acceptNode, 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
-
-
-
-
Constructor Detail
-
BasicTestIterator
protected BasicTestIterator(PrefixResolver nscontext)
Create a LocPathIterator object.- Parameters:
nscontext
- The namespace context for this iterator, should be OK if null.
-
BasicTestIterator
protected BasicTestIterator(Compiler compiler, int opPos, int analysis) throws javax.xml.transform.TransformerException
Create a LocPathIterator object, including creation of step walkers from the opcode list, and call back into the Compiler to create predicate expressions.- Parameters:
compiler
- The Compiler which is creating this expression.opPos
- The position of this iterator in the opcode list from the compiler.- Throws:
javax.xml.transform.TransformerException
- if any
-
-
Method Detail
-
getNextNode
protected abstract int getNextNode()
Get the next node via getNextXXX. Bottlenecked for derived class override.- Returns:
- The next node on the axis, or DTM.NULL.
-
nextNode
public int nextNode()
Returns the next node in the set and advances the position of the iterator in the set. After aDTMIterator
has setRoot called, the first call tonextNode()
returns that root or (if it is rejected by the filters) the first node within its subtree which is not filtered out.- Specified by:
nextNode
in interfaceDTMIterator
- Specified by:
nextNode
in classLocPathIterator
- Returns:
- The next node handle in the set being iterated over, or
DTM.NULL
if there are no more members in that set.
-
cloneWithReset
public DTMIterator cloneWithReset() throws java.lang.CloneNotSupportedException
Get a cloned Iterator that is reset to the start of the iteration.- Specified by:
cloneWithReset
in interfaceDTMIterator
- Overrides:
cloneWithReset
in classLocPathIterator
- Returns:
- A clone of this iteration that has been reset.
- Throws:
java.lang.CloneNotSupportedException
- if any
-
-