Package org.apache.commons.jxpath.ri.axes

# Class ChildContext

java.lang.Object
org.apache.commons.jxpath.ri.EvalContext
org.apache.commons.jxpath.ri.axes.ChildContext

All Implemented Interfaces:
  `Iterator`, `ExpressionContext`

public class ChildContext extends EvalContext
EvalContext that can walk the "child::", "following-sibling::" and "preceding-sibling::" axes.

- ## Field Summary

  ### Fields inherited from class org.apache.commons.jxpath.ri.EvalContext

  `parentContext, position, rootContext`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ChildContext(EvalContext parentContext, NodeTest nodeTest, boolean startFromParentLocation, boolean reverse)`
  Constructs a new ChildContext.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `NodePointer`
  `getCurrentNodePointer()`
  Returns the current context node.
  `Pointer`
  `getSingleNodePointer()`
  This method is called on the last context on the path when only one value is needed.
  `boolean`
  `nextNode()`
  Returns true if there is another object in the current set.
  `void`
  `reset()`
  Sets current position = 0, which is the pre-iteration state.
  `boolean`
  `setPosition(int position)`
  Moves the current position to the specified index.

  ### Methods inherited from class org.apache.commons.jxpath.ri.EvalContext

  `getContextNodeList, getContextNodePointer, getCurrentPosition, getDocumentOrder, getJXPathContext, getNodeSet, getPosition, getRootContext, getValue, hasNext, isChildOrderingRequired, next, nextSet, remove, sortPointers, toString`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface java.util.Iterator

  `forEachRemaining`

- ## Constructor Details

  - ### ChildContext

    public ChildContext(EvalContext parentContext, NodeTest nodeTest, boolean startFromParentLocation, boolean reverse)
    Constructs a new ChildContext.
    Parameters:
      `parentContext` - parent EvalContext
      `nodeTest` - NodeTest
      `startFromParentLocation` - whether to start from parent location
      `reverse` - whether to iterate in reverse

- ## Method Details

  - ### getCurrentNodePointer

    public NodePointer getCurrentNodePointer()
    Description copied from class: `EvalContext`
    Returns the current context node. Undefined before the beginning of the iteration.
    Specified by:
      `getCurrentNodePointer` in class `EvalContext`
    Returns:
      NodePoiner

  - ### getSingleNodePointer

    public Pointer getSingleNodePointer()
    This method is called on the last context on the path when only one value is needed. Note that this will return the whole property, even if it is a collection. It will not extract the first element of the collection. For example, "books" will return the collection of books rather than the first book from that collection.
    Overrides:
      `getSingleNodePointer` in class `EvalContext`
    Returns:
      Pointer

  - ### nextNode

    public boolean nextNode()
    Description copied from class: `EvalContext`
    Returns true if there is another object in the current set. Switches the current position and node to the next object.
    Specified by:
      `nextNode` in class `EvalContext`
    Returns:
      boolean

  - ### reset

    public void reset()
    Description copied from class: `EvalContext`
    Sets current position = 0, which is the pre-iteration state.
    Overrides:
      `reset` in class `EvalContext`

  - ### setPosition

    public boolean setPosition(int position)
    Description copied from class: `EvalContext`
    Moves the current position to the specified index. Used with integer predicates to quickly get to the n'th element of the node set. Returns false if the position is out of the node set range. You can call it with 0 as the position argument to restart the iteration.
    Overrides:
      `setPosition` in class `EvalContext`
    Parameters:
      `position` - to set
    Returns:
      boolean