org.apache.xpath.axes
Class WalkingIteratorSorted
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.WalkingIterator
org.apache.xpath.axes.WalkingIteratorSorted
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, javax.xml.transform.SourceLocator, DTMIterator, PathComponent, SubContextList, ExpressionNode, ExpressionOwner, XPathVisitable
public class WalkingIteratorSorted
- extends WalkingIterator
This class iterates over set of nodes that needs to be sorted.
- See Also:
- Serialized Form
Field Summary |
protected boolean |
m_inNaturalOrderStatic
True if the nodes will be found in document order, and this can
be determined statically. |
(package private) static long |
serialVersionUID
|
Constructor Summary |
WalkingIteratorSorted(Compiler compiler,
int opPos,
int analysis,
boolean shouldLoadWalkers)
Create a WalkingIterator iterator, including creation
of step walkers from the opcode list, and call back
into the Compiler to create predicate expressions. |
WalkingIteratorSorted(PrefixResolver nscontext)
Create a WalkingIteratorSorted object. |
Method Summary |
(package private) boolean |
canBeWalkedInNaturalDocOrderStatic()
Tell if the nodeset can be walked in doc order, via static analysis. |
void |
fixupVariables(java.util.Vector vars,
int globalsSize)
This function is used to perform some extra analysis of the iterator. |
boolean |
isDocOrdered()
Returns true if all the nodes in the iteration well be returned in document
order. |
Methods inherited from class org.apache.xpath.axes.WalkingIterator |
callVisitors, clone, deepEquals, detach, getAnalysisBits, getExpression, getFirstWalker, getLastUsedWalker, nextNode, reset, setExpression, setFirstWalker, setLastUsedWalker, setRoot |
Methods inherited from class org.apache.xpath.axes.LocPathIterator |
allowDetachToRelease, asIterator, asNode, bool, cloneWithReset, execute, executeCharsToContentHandler, getAxis, getContext, getCurrentContextNode, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getFilter, getFoundLast, getIsTopLevel, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isFresh, isMutable, isNodesetExpr, item, previousNode, returnNextNode, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setNextPosition, setShouldCacheNodes, size |
Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest |
acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, countProximityPosition, executePredicates, 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
m_inNaturalOrderStatic
protected boolean m_inNaturalOrderStatic
- True if the nodes will be found in document order, and this can
be determined statically.
WalkingIteratorSorted
public WalkingIteratorSorted(PrefixResolver nscontext)
- Create a WalkingIteratorSorted object.
- Parameters:
nscontext
- The namespace context for this iterator,
should be OK if null.
WalkingIteratorSorted
WalkingIteratorSorted(Compiler compiler,
int opPos,
int analysis,
boolean shouldLoadWalkers)
throws javax.xml.transform.TransformerException
- Create a WalkingIterator iterator, 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
isDocOrdered
public boolean isDocOrdered()
- Returns true if all the nodes in the iteration well be returned in document
order.
- Specified by:
isDocOrdered
in interface DTMIterator
- Overrides:
isDocOrdered
in class LocPathIterator
- Returns:
- true as a default.
canBeWalkedInNaturalDocOrderStatic
boolean canBeWalkedInNaturalDocOrderStatic()
- Tell if the nodeset can be walked in doc order, via static analysis.
- Returns:
- true if the nodeset can be walked in doc order, without sorting.
fixupVariables
public void fixupVariables(java.util.Vector vars,
int globalsSize)
- This function is used to perform some extra analysis of the iterator.
- Overrides:
fixupVariables
in class WalkingIterator
- Parameters:
vars
- List of QNames that correspond to variables. This list
should be searched backwards for the first qualified name that
corresponds to the variable reference qname. The position of the
QName in the vector from the start of the vector will be its position
in the stack frame (but variables above the globalsTop value will need
to be offset to the current stack frame).