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:
- java.io.Serializable, java.lang.Cloneable, javax.xml.transform.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
Constructor Summary |
protected |
BasicTestIterator()
Create a LocPathIterator object. |
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(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. |
protected |
BasicTestIterator(PrefixResolver nscontext)
Create a LocPathIterator object. |
Method Summary |
DTMIterator |
cloneWithReset()
Get a cloned Iterator that is reset to the beginning
of the query. |
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.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, size |
Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest |
acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, clone, countProximityPosition, deepEquals, executePredicates, fixupVariables, 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
BasicTestIterator
protected BasicTestIterator()
- Create a LocPathIterator object.
- Parameters:
nscontext
- The namespace context for this iterator,
should be OK if null.
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
BasicTestIterator
protected BasicTestIterator(Compiler compiler,
int opPos,
int analysis,
boolean shouldLoadWalkers)
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.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:
javax.xml.transform.TransformerException
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:
nextNode
in interface DTMIterator
- Specified by:
nextNode
in class LocPathIterator
- Returns:
- The next
Node
in the set being iterated over, or
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 beginning
of the query.
- Specified by:
cloneWithReset
in interface DTMIterator
- Overrides:
cloneWithReset
in class LocPathIterator
- Returns:
- A cloned NodeIterator set of the start of the query.
- Throws:
java.lang.CloneNotSupportedException