org.apache.xpath.axes

## Class OneStepIteratorForward

- 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.OneStepIteratorForward

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

Direct Known Subclasses:
  KeyIterator

    public class OneStepIteratorForward
    extends ChildTestIterator

This class implements a general iterator for those LocationSteps with only one step, and perhaps a predicate, that only go forward (i.e. it can not be used with ancestors, preceding, etc.)

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

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

Constructors
Constructor and Description
`OneStepIteratorForward(int axis)` Create a OneStepIterator object that will just traverse the self axes.

### Method Summary

Methods
`boolean` `deepEquals(Expression expr)` Compare this object with another object and see if they are equal, include the sub heararchy.
`int` `getAxis()` Returns the axis being iterated, if it is known.
`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.ChildTestIterator

`cloneWithReset, detach`

### 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, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, isMutable, isNodesetExpr, item, previousNode, reset, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setShouldCacheNodes, size`

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

`acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, clone, fixupVariables, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initProximityPosition, isReverseAxes, 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`

### Methods inherited from interface org.apache.xml.dtm.DTMIterator

`clone`

### Constructor Detail

#### OneStepIteratorForward

    public OneStepIteratorForward(int axis)

Create a OneStepIterator object that will just traverse the self axes.

Parameters:
  `axis` - One of the org.apache.xml.dtm.Axis integers.
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.

Specified by:
  `setRoot` in interface `DTMIterator`
Overrides:
  `setRoot` in class `ChildTestIterator`
Parameters:
  `context` - The XPath runtime context for this transformation.
  `environment` - The environment object. The environment in which this iterator operates, which should provide:
  - a node (the context node... same value as "root" defined below)
  - a pair of non-zero positive integers (the context position and the context size)
  - a set of variable bindings
  - a function library
  - the set of namespace declarations in scope for the expression.

  At this time the exact implementation of this environment is application dependent. Probably a proper interface will be created fairly soon.

#### getAxis

    public int getAxis()

Returns the axis being iterated, if it is known.

Specified by:
  `getAxis` in interface `DTMIterator`
Overrides:
  `getAxis` in class `ChildTestIterator`
Returns:
  Axis.CHILD, etc., or -1 if the axis is not known or is of multiple types.

#### deepEquals

    public boolean deepEquals(Expression expr)

Description copied from class: `Expression`
Compare this object with another object and see if they are equal, include the sub heararchy.

Overrides:
  `deepEquals` in class `PredicatedNodeTest`
Parameters:
  `expr` - Another expression object.
Returns:
  true if this objects class and the expr object's class are the same, and the data contained within both objects are considered equal.
See Also:
  `Expression.deepEquals(Expression)`