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

# Class SimplePathInterpreter

java.lang.Object
org.apache.commons.jxpath.ri.axes.SimplePathInterpreter

public class SimplePathInterpreter extends Object
An evaluation mechanism for simple XPaths, which is much faster than the usual process. It is only used for xpaths which have no context-dependent parts, consist entirely of `child::name` and `self::node()` steps with predicates that either integer or have the form `[@name = ...]`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SimplePathInterpreter()`
  Deprecated.
  Will be private in the next major version.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static NodePointer`
  `createNullPointer(EvalContext context, NodePointer parent, Step[] steps, int currentStep)`
  Creates a "null pointer" that a) represents the requested path and b) can be used for creation of missing nodes in the path.
  `static NodePointer`
  `interpretSimpleExpressionPath(EvalContext context, NodePointer root, Expression[] predicates, Step[] steps)`
  Interpret the steps of a simple expression path that starts with the given root, which is the result of evaluation of the root expression of the expression path, applies the given predicates to it and then follows the given steps.
  `static NodePointer`
  `interpretSimpleLocationPath(EvalContext context, NodePointer root, Step[] steps)`
  Interpret a simple path that starts with the given root and follows the given steps.

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

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

- ## Constructor Details

  - ### SimplePathInterpreter

    @Deprecated public SimplePathInterpreter()
    Deprecated.
    Will be private in the next major version.
    Constructs a new instance.

- ## Method Details

  - ### createNullPointer

    public static NodePointer createNullPointer(EvalContext context, NodePointer parent, Step[] steps, int currentStep)
    Creates a "null pointer" that a) represents the requested path and b) can be used for creation of missing nodes in the path.
    Parameters:
      `context` - evaluation context
      `parent` - parent pointer
      `steps` - path steps
      `currentStep` - step number
    Returns:
      NodePointer

  - ### interpretSimpleExpressionPath

    public static NodePointer interpretSimpleExpressionPath(EvalContext context, NodePointer root, Expression[] predicates, Step[] steps)
    Interpret the steps of a simple expression path that starts with the given root, which is the result of evaluation of the root expression of the expression path, applies the given predicates to it and then follows the given steps. All steps must have the axis "child::" or "attribute::" and a name test. They can also optionally have predicates of type [@name=...] or simply [...] interpreted as an index.
    Parameters:
      `context` - evaluation context
      `root` - root pointer
      `predicates` - predicates corresponding to `steps`
      `steps` - path steps
    Returns:
      NodePointer

  - ### interpretSimpleLocationPath

    public static NodePointer interpretSimpleLocationPath(EvalContext context, NodePointer root, Step[] steps)
    Interpret a simple path that starts with the given root and follows the given steps. All steps must have the axis "child::" and a name test. They can also optionally have predicates of type [@name=expression] or simply [expression] interpreted as an index.
    Parameters:
      `context` - evaluation context
      `root` - root pointer
      `steps` - path steps
    Returns:
      NodePointer