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

# Class RootContext

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

All Implemented Interfaces:
  `Iterator`, `ExpressionContext`

public class RootContext extends EvalContext
EvalContext that is used to hold the root node for the path traversal.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Object`
  `UNKNOWN_VALUE`
  Unknown value marker.

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

  `parentContext, position, rootContext`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RootContext(JXPathContextReferenceImpl jxpathContext, NodePointer pointer)`
  Constructs a new RootContext.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `EvalContext`
  `getAbsoluteRootContext()`
  Gets absolute root context
  `EvalContext`
  `getConstantContext(Object constant)`
  Gets a context that points to the specified object.
  `NodePointer`
  `getCurrentNodePointer()`
  Returns the current context node.
  `int`
  `getCurrentPosition()`
  Gets the current position.
  `Function`
  `getFunction(QName functionName, Object[] parameters)`
  Gets the specified function from the context.
  `JXPathContext`
  `getJXPathContext()`
  Gets the JXPathContext in which this function is being evaluated.
  `Object`
  `getRegisteredValue(int id)`
  Gets a registered value.
  `RootContext`
  `getRootContext()`
  Returns the root context of the path, which provides easy access to variables and functions.
  `Object`
  `getValue()`
  Typically returns the NodeSet by calling getNodeSet(), but will be overridden for contexts that more naturally produce individual values, e.g.
  `EvalContext`
  `getVariableContext(QName variableName)`
  Gets variable context.
  `boolean`
  `nextNode()`
  Returns true if there is another object in the current set.
  `boolean`
  `nextSet()`
  Returns true if there is another sets of objects to interate over.
  `boolean`
  `setPosition(int position)`
  Moves the current position to the specified index.
  `int`
  `setRegisteredValue(Object value)`
  Sets the next registered value.
  `String`
  `toString()`

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

  `getContextNodeList, getContextNodePointer, getDocumentOrder, getNodeSet, getPosition, getSingleNodePointer, hasNext, isChildOrderingRequired, next, remove, reset, sortPointers`

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

- ## Field Details

  - ### UNKNOWN_VALUE

    public static final Object UNKNOWN_VALUE
    Unknown value marker.

- ## Constructor Details

  - ### RootContext

    public RootContext(JXPathContextReferenceImpl jxpathContext, NodePointer pointer)
    Constructs a new RootContext.
    Parameters:
      `jxpathContext` - context
      `pointer` - pointer

- ## Method Details

  - ### getAbsoluteRootContext

    public EvalContext getAbsoluteRootContext()
    Gets absolute root context
    Returns:
      EvalContext

  - ### getConstantContext

    public EvalContext getConstantContext(Object constant)
    Gets a context that points to the specified object.
    Parameters:
      `constant` - object
    Returns:
      EvalContext

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

  - ### getCurrentPosition

    public int getCurrentPosition()
    Description copied from class: `EvalContext`
    Gets the current position.
    Overrides:
      `getCurrentPosition` in class `EvalContext`
    Returns:
      int position.

  - ### getFunction

    public Function getFunction(QName functionName, Object[] parameters)
    Gets the specified function from the context.
    Parameters:
      `functionName` - QName
      `parameters` - Object[]
    Returns:
      Function

  - ### getJXPathContext

    public JXPathContext getJXPathContext()
    Description copied from interface: `ExpressionContext`
    Gets the JXPathContext in which this function is being evaluated.
    Specified by:
      `getJXPathContext` in interface `ExpressionContext`
    Overrides:
      `getJXPathContext` in class `EvalContext`
    Returns:
      A list representing the current context nodes.

  - ### getRegisteredValue

    public Object getRegisteredValue(int id)
    Gets a registered value.
    Parameters:
      `id` - int
    Returns:
      Object

  - ### getRootContext

    public RootContext getRootContext()
    Description copied from class: `EvalContext`
    Returns the root context of the path, which provides easy access to variables and functions.
    Overrides:
      `getRootContext` in class `EvalContext`
    Returns:
      RootContext

  - ### getValue

    public Object getValue()
    Description copied from class: `EvalContext`
    Typically returns the NodeSet by calling getNodeSet(), but will be overridden for contexts that more naturally produce individual values, e.g. VariableContext
    Overrides:
      `getValue` in class `EvalContext`
    Returns:
      Object

  - ### getVariableContext

    public EvalContext getVariableContext(QName variableName)
    Gets variable context.
    Parameters:
      `variableName` - variable name
    Returns:
      EvalContext

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

  - ### nextSet

    public boolean nextSet()
    Description copied from class: `EvalContext`
    Returns true if there is another sets of objects to interate over. Resets the current position and node.
    Overrides:
      `nextSet` in class `EvalContext`
    Returns:
      boolean

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

  - ### setRegisteredValue

    public int setRegisteredValue(Object value)
    Sets the next registered value.
    Parameters:
      `value` - Object
    Returns:
      the id that can reclaim value.

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `EvalContext`