## org.apache.xpath.axes
Class ChildTestIterator

    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

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

Direct Known Subclasses:
  AttributeIterator, KeyRefIterator, OneStepIterator, OneStepIteratorForward, UnionChildIterator

    public class ChildTestIterator

extends BasicTestIterator

This class implements an optimized iterator for children patterns that have a node test, and possibly a predicate.

See Also:
  `BasicTestIterator`, 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
`ChildTestIterator(DTMAxisTraverser traverser)` Create a ChildTestIterator object.

Method Summary
`DTMIterator` `cloneWithReset()` Get a cloned Iterator that is reset to the beginning of the query.
`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.
`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, 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, deepEquals, 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

### ChildTestIterator

    public ChildTestIterator(DTMAxisTraverser traverser)

  Create a ChildTestIterator object.

  Parameters:
    `traverser` - Traverser that tells how the KeyIterator is to be handled.
  Throws:
    `javax.xml.transform.TransformerException`

Method Detail

### cloneWithReset

    public DTMIterator cloneWithReset()
                               throws java.lang.CloneNotSupportedException

  Get a cloned Iterator that is reset to the beginning of the query.

  Specified by:
    `cloneWithReset` in interface `DTMIterator`
  Overrides:
    `cloneWithReset` in class `BasicTestIterator`
  Returns:
    A cloned NodeIterator set of the start of the query.
  Throws:
    `java.lang.CloneNotSupportedException`

### 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 `LocPathIterator`
  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 `LocPathIterator`
  Returns:
    Axis.CHILD, etc., or -1 if the axis is not known or is of multiple types.

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

  Specified by:
    `detach` in interface `DTMIterator`
  Overrides:
    `detach` in class `LocPathIterator`

Copyright © 2005 Apache XML Project. All Rights Reserved.