Package org.apache.xpath.axes
Class BasicTestIterator
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
- All Implemented Interfaces:
Serializable,Cloneable,SourceLocator,DTMIterator,PathComponent,SubContextList,ExpressionNode,XPathVisitable
- Direct Known Subclasses:
ChildTestIterator,FilterExprIterator
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.
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from class org.apache.xpath.axes.LocPathIterator
m_allowDetach, m_cdtm, m_clones, m_context, m_currentContextNode, m_execContext, m_lastFetched, m_length, m_posFields inherited from class org.apache.xpath.axes.PredicatedNodeTest
m_foundLast, m_lpi, m_predCount, m_proximityPositionsFields 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, WILDFields inherited from interface org.apache.xml.dtm.DTMIterator
FILTER_ACCEPT, FILTER_REJECT, FILTER_SKIP -
Constructor Summary
Constructors Modifier Constructor Description protectedBasicTestIterator()Create a LocPathIterator object.protectedBasicTestIterator(PrefixResolver nscontext)Create a LocPathIterator object.protectedBasicTestIterator(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.protectedBasicTestIterator(Compiler compiler, int opPos, int analysis, boolean shouldLoadWalkers)Create a LocPathIterator object, including creation of step walkers from the opcode list, and call back into the Compiler to create predicate expressions. -
Method Summary
Modifier and Type Method Description DTMIteratorcloneWithReset()Get a cloned Iterator that is reset to the beginning of the query.protected abstract intgetNextNode()Get the next node via getNextXXX.intnextNode()Returns the next node in the set and advances the position of the iterator in the set.Methods inherited from class org.apache.xpath.axes.LocPathIterator
allowDetachToRelease, asIterator, asNode, bool, callVisitors, detach, execute, executeCharsToContentHandler, getAnalysisBits, getAxis, 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, setRoot, setShouldCacheNodes, sizeMethods inherited from class org.apache.xpath.axes.PredicatedNodeTest
acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, clone, countProximityPosition, deepEquals, fixupVariables, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, getProximityPosition, initPredicateInfo, initProximityPosition, isReverseAxes, nodeToString, resetProximityPositions, setLocPathIterator, setPredicateCountMethods inherited from class org.apache.xpath.patterns.NodeTest
calcScore, debugWhatToShow, execute, execute, getDefaultScore, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShowMethods 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, xstrMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.xml.dtm.DTMIterator
clone
-
Constructor Details
-
BasicTestIterator
protected BasicTestIterator()Create a LocPathIterator object.- Parameters:
nscontext- The namespace context for this iterator, should be OK if null.
-
BasicTestIterator
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 TransformerExceptionCreate 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:
TransformerException
-
BasicTestIterator
protected BasicTestIterator(Compiler compiler, int opPos, int analysis, boolean shouldLoadWalkers) throws TransformerExceptionCreate 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.shouldLoadWalkers- True if walkers should be loaded, or false if this is a derived iterator and it doesn't wish to load child walkers.- Throws:
TransformerException
-
-
Method Details
-
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 a NodeIterator is created, the first call to nextNode() returns the first node in the set.- Specified by:
nextNodein interfaceDTMIterator- Specified by:
nextNodein classLocPathIterator- Returns:
- The next
Nodein the set being iterated over, ornullif there are no more members in that set.
-
cloneWithReset
Get a cloned Iterator that is reset to the beginning of the query.- Specified by:
cloneWithResetin interfaceDTMIterator- Overrides:
cloneWithResetin classLocPathIterator- Returns:
- A cloned NodeIterator set of the start of the query.
- Throws:
CloneNotSupportedException
-