## 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

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

See Also:
  org.apache.xpath.axes, Serialized Form
Usage:
  **For advanced use only**

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:
    `context` - 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. After`detach` has been invoked, calls to `nextNode` or`previousNode` 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 © 2006 Apache XML Project. All Rights Reserved.