org.apache.xpath.axes

Class OneStepIterator

Implemented Interfaces:
Cloneable, DTMIterator, java.io.Serializable, ExpressionNode, PathComponent, java.io.Serializable, SourceLocator, SubContextList, XPathVisitable

public class OneStepIterator
extends ChildTestIterator

This class implements a general iterator for those LocationSteps with only one step, and perhaps a predicate.

See Also:
org.apache.xpath.axes.LocPathIterator, Serialized Form

Field Summary

Fields inherited from class org.apache.xpath.axes.LocPathIterator

m_lastFetched

Fields inherited from class org.apache.xpath.patterns.NodeTest

SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, SUPPORTS_PRE_STRIPPING, WILD

Fields inherited from interface org.apache.xml.dtm.DTMIterator

FILTER_ACCEPT, FILTER_REJECT, FILTER_SKIP

Constructor Summary

OneStepIterator(DTMAxisIterator iterator, int axis)
Create a OneStepIterator object.

Method Summary

Object
clone()
Get a cloned iterator.
DTMIterator
cloneWithReset()
Get a cloned Iterator that is reset to the beginning of the query.
boolean
deepEquals(Expression expr)
void
detach()
Detaches the iterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state.
int
getAxis()
Returns the axis being iterated, if it is known.
int
getLength()
The number of nodes in the list.
boolean
isReverseAxes()
Tells if this is a reverse axes.
void
reset()
Reset the iterator.
void
setRoot(int context, Object environment)
Initialize the context values for this expression after it is cloned.

Methods inherited from class org.apache.xpath.axes.ChildTestIterator

cloneWithReset, detach, getAxis, setRoot

Methods inherited from class org.apache.xpath.axes.BasicTestIterator

cloneWithReset, nextNode

Methods inherited from class org.apache.xpath.axes.LocPathIterator

allowDetachToRelease, asIterator, asNode, bool, callVisitors, cloneWithReset, 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, nextNode, previousNode, reset, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setRoot, setShouldCacheNodes, size

Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest

acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, clone, deepEquals, fixupVariables, getLastPos, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initProximityPosition, isReverseAxes, resetProximityPositions, setLocPathIterator, setPredicateCount

Methods inherited from class org.apache.xpath.patterns.NodeTest

callVisitors, debugWhatToShow, deepEquals, execute, execute, execute, fixupVariables, getDefaultScore, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, getWhatToShow, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShow

Methods inherited from class org.apache.xpath.Expression

asIterator, asIteratorRaw, asNode, assertion, bool, canTraverseOutsideSubtree, deepEquals, error, execute, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, fixupVariables, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isStableNumber, num, warn, xstr

Constructor Details

OneStepIterator

public OneStepIterator(DTMAxisIterator iterator,
                       int axis)
            throws TransformerException
Create a OneStepIterator object.

Parameters:
iterator - The DTM iterator which this iterator will use.
axis - One of Axis.Child, etc., or -1 if the axis is unknown.

Throws:
TransformerException -

Method Details

clone

public Object clone()
            throws CloneNotSupportedException
Get a cloned iterator.
Specified by:
clone in interface DTMIterator
Overrides:
clone in interface PredicatedNodeTest

Returns:
A new iterator that can be used without mutating this one.


cloneWithReset

public DTMIterator cloneWithReset()
            throws CloneNotSupportedException
Get a cloned Iterator that is reset to the beginning of the query.
Specified by:
cloneWithReset in interface DTMIterator
Overrides:
cloneWithReset in interface ChildTestIterator

Returns:
A cloned NodeIterator set of the start of the query.


deepEquals

public boolean deepEquals(Expression expr)
Overrides:
deepEquals in interface PredicatedNodeTest

See Also:
Expression.deepEquals(Expression)


detach

public void detach()
Detaches the iterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state. Afterdetach has been invoked, calls to nextNode orpreviousNode will raise the exception INVALID_STATE_ERR.
Specified by:
detach in interface DTMIterator
Overrides:
detach in interface ChildTestIterator


getAxis

public int getAxis()
Returns the axis being iterated, if it is known.
Specified by:
getAxis in interface DTMIterator
Overrides:
getAxis in interface ChildTestIterator

Returns:
Axis.CHILD, etc., or -1 if the axis is not known or is of multiple types.


getLength

public int getLength()
The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.
Specified by:
getLength in interface DTMIterator
Overrides:
getLength in interface LocPathIterator

Returns:
The number of nodes in the list, always greater or equal to zero.


isReverseAxes

public boolean isReverseAxes()
Tells if this is a reverse axes. Overrides AxesWalker#isReverseAxes.
Overrides:
isReverseAxes in interface PredicatedNodeTest

Returns:
true for this class.


reset

public void reset()
Reset the iterator.
Specified by:
reset in interface DTMIterator
Overrides:
reset in interface LocPathIterator


setRoot

public void setRoot(int context,
                    Object environment)
Initialize the context values for this expression after it is cloned.
Specified by:
setRoot in interface DTMIterator
Overrides:
setRoot in interface ChildTestIterator

Parameters:


Copyright B) 2004 Apache XML Project. All Rights Reserved.