public class UnionPathIterator extends LocPathIterator implements Cloneable, DTMIterator, PathComponent
| Modifier and Type | Field and Description |
|---|---|
protected LocPathIterator[] |
m_exprs
The location path iterators, one for each location path contained in the union
expression.
|
protected DTMIterator[] |
m_iterators
The location path iterators, one for each location path contained in the union
expression.
|
m_allowDetach, m_cdtm, m_clones, m_context, m_currentContextNode, m_execContext, m_lastFetched, m_length, m_posm_foundLast, m_lpi, m_predCount, m_proximityPositionsm_name, m_whatToShow, SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, WILDFILTER_ACCEPT, FILTER_SKIP| Constructor and Description |
|---|
UnionPathIterator(Compiler compiler,
int opPos)
Create a UnionPathIterator object, including creation of location path iterators from the
opcode list, and call back into the Compiler to create predicate expressions.
|
| Modifier and Type | Method and Description |
|---|---|
void |
callVisitors(XPathVisitor visitor)
This will traverse the hierarchy, calling the visitor for each member.
|
Object |
clone() |
protected LocPathIterator |
createDTMIterator(Compiler compiler,
int opPos)
Create a new location path iterator.
|
static LocPathIterator |
createUnionIterator(Compiler compiler,
int opPos)
This will return an iterator capable of handling the union of paths given.
|
boolean |
deepEquals(Expression expr)
Compare this object with another object and see if they are equal, include the sub heararchy.
|
void |
detach()
Detaches the
DTMIterator from the set which it iterated over, releasing any
computational resources and placing the iterator in the INVALID state. |
int |
getAnalysisBits()
Get the analysis bits for this path component, as defined in the WalkerFactory.
|
int |
getAxis()
Returns the axis being iterated, if it is known.
|
protected void |
loadLocationPaths(Compiler compiler,
int opPos,
int count)
Initialize the location path iterators.
|
int |
nextNode()
Returns the next node in the set and advances the position of the iterator in the set.
|
void |
setRoot(int context,
Object environment)
Reset the root node of the
DTMIterator, overriding the value specified when it was
created. |
allowDetachToRelease, asIterator, asNode, bool, cloneWithReset, execute, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getIsTopLevel, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, item, previousNode, reset, returnNextNode, runTo, setCurrentPos, setIsTopLevel, setShouldCacheNodesacceptNode, callPredicateVisitors, canTraverseOutsideSubtree, countProximityPosition, getPredicate, getPredicateCount, getProximityPosition, getProximityPosition, getProximityPosition, initPredicateInfo, initProximityPosition, isReverseAxes, nodeToString, resetProximityPositions, setLocPathIterator, setPredicateCountcalcScore, execute, execute, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShowassertion, error, execute, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isSameClass, isStableNumber, numequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitallowDetachToRelease, cloneWithReset, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getLength, getRoot, getWhatToShow, isDocOrdered, isFresh, item, previousNode, reset, runTo, setCurrentPos, setShouldCacheNodesprotected LocPathIterator[] m_exprs
protected DTMIterator[] m_iterators
public UnionPathIterator(Compiler compiler, int opPos) throws TransformerException
compiler - The Compiler which is creating this expression.opPos - The position of this iterator in the opcode list from the compiler.TransformerException - if anypublic void setRoot(int context,
Object environment)
DTMIterator, overriding the value specified when it was
created. Note the root node is not the root node of the document tree, but the context node
from where the iteration begins.setRoot in interface DTMIteratorsetRoot in class LocPathIteratorcontext - int Handle of the context node.environment - The environment object. The environment in which this iterator operates,
which should provide:
At this time the exact implementation of this environment is application dependent. Probably a proper interface will be created fairly soon.
public void detach()
DTMIterator from the set which it iterated over, releasing any
computational resources and placing the iterator in the INVALID state. After detach
has been invoked, calls to nextNode or previousNode will
raise a runtime exception.detach in interface DTMIteratordetach in class LocPathIteratorpublic static LocPathIterator createUnionIterator(Compiler compiler, int opPos) throws TransformerException
compiler - The Compiler which is creating this expression.opPos - The position of this iterator in the opcode list from the compiler.TransformerException - if anypublic int getAnalysisBits()
getAnalysisBits in interface PathComponentgetAnalysisBits in class LocPathIteratorpublic Object clone() throws CloneNotSupportedException
clone in interface DTMIteratorclone in class PredicatedNodeTestCloneNotSupportedException - if anyprotected LocPathIterator createDTMIterator(Compiler compiler, int opPos) throws TransformerException
compiler - The Compiler which is creating this expression.opPos - The position of this iterator in theTransformerException - if anyprotected void loadLocationPaths(Compiler compiler, int opPos, int count) throws TransformerException
compiler - The Compiler which is creating this expression.opPos - The position of this iterator in the opcode list from the compiler.count - The insert position of the iterator.TransformerException - if anypublic int nextNode()
DTMIterator has setRoot called, the first call to nextNode() returns
that root or (if it is rejected by the filters) the first node within its subtree which is not
filtered out.nextNode in interface DTMIteratornextNode in class LocPathIteratorDTM.NULL if there
are no more members in that set.public int getAxis()
getAxis in interface DTMIteratorgetAxis in class LocPathIteratorpublic void callVisitors(XPathVisitor visitor)
callVisitors in interface XPathVisitablecallVisitors in class LocPathIteratorvisitor - The visitor whose appropriate method will be called.public boolean deepEquals(Expression expr)
deepEquals in class PredicatedNodeTestexpr - Another expression object.Copyright © 2022–2023. All rights reserved.