org.apache.xpath.axes
Class OneStepIterator

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
                                |
                                +--org.apache.xpath.axes.ChildTestIterator
                                      |
                                      +--org.apache.xpath.axes.OneStepIterator

public class OneStepIterator
extends ChildTestIterator

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

See Also:
org.apache.xpath.axes.WalkerFactory#newLocPathIterator, Serialized Form

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
 
Constructor Summary
OneStepIterator(DTMAxisIterator iterator, int axis)
          Create a OneStepIterator object.
 
Method Summary
 java.lang.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, java.lang.Object environment)
          Initialize the context values for this expression after it is cloned.
 
Methods inherited from class org.apache.xpath.axes.BasicTestIterator
nextNode
 
Methods inherited from class org.apache.xpath.axes.LocPathIterator
allowDetachToRelease, asIterator, asNode, bool, callVisitors, execute, executeCharsToContentHandler, getAnalysisBits, getContext, getCurrentContextNode, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getFilter, getFoundLast, getIsTopLevel, getLastPos, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, isMutable, isNodesetExpr, item, previousNode, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setShouldCacheNodes, size
 
Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest
acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, fixupVariables, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initProximityPosition, resetProximityPositions, setLocPathIterator, setPredicateCount
 
Methods inherited from class org.apache.xpath.patterns.NodeTest
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, isStableNumber, num, warn, xstr
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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 Detail

setRoot

public void setRoot(int context,
                    java.lang.Object environment)
Initialize the context values for this expression after it is cloned.
Parameters:
execContext - The XPath runtime context for this transformation.
Overrides:
setRoot in class ChildTestIterator

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.
Overrides:
detach in class ChildTestIterator

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Get a cloned iterator.
Returns:
A new iterator that can be used without mutating this one.
Throws:
java.lang.CloneNotSupportedException -  
Overrides:
clone in class PredicatedNodeTest

cloneWithReset

public DTMIterator cloneWithReset()
                           throws java.lang.CloneNotSupportedException
Get a cloned Iterator that is reset to the beginning of the query.
Returns:
A cloned NodeIterator set of the start of the query.
Throws:
java.lang.CloneNotSupportedException -  
Overrides:
cloneWithReset in class ChildTestIterator

isReverseAxes

public boolean isReverseAxes()
Tells if this is a reverse axes. Overrides AxesWalker#isReverseAxes.
Returns:
true for this class.
Overrides:
isReverseAxes in class PredicatedNodeTest

getLength

public int getLength()
The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.
Returns:
The number of nodes in the list, always greater or equal to zero.
Overrides:
getLength in class LocPathIterator

reset

public void reset()
Reset the iterator.
Overrides:
reset in class LocPathIterator

getAxis

public int getAxis()
Returns the axis being iterated, if it is known.
Returns:
Axis.CHILD, etc., or -1 if the axis is not known or is of multiple types.
Overrides:
getAxis in class ChildTestIterator

deepEquals

public boolean deepEquals(Expression expr)
Overrides:
deepEquals in class PredicatedNodeTest
See Also:
Expression.deepEquals(Expression)


Copyright © 2003 Apache XML Project. All Rights Reserved.