org.apache.commons.jxpath.ri.compiler
Class ExpressionPath

java.lang.Object
  extended by org.apache.commons.jxpath.ri.compiler.Expression
      extended by org.apache.commons.jxpath.ri.compiler.Path
          extended by org.apache.commons.jxpath.ri.compiler.ExpressionPath

public class ExpressionPath
extends Path

An element of the parse tree that represents an expression path, which is a path that starts with an expression like a function call: getFoo(.) /bar.

Version:
$Revision: 652845 $ $Date: 2008-05-02 12:46:46 -0500 (Fri, 02 May 2008) $
Author:
Dmitri Plotnikov

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.commons.jxpath.ri.compiler.Expression
Expression.PointerIterator, Expression.ValueIterator
 
Field Summary
 
Fields inherited from class org.apache.commons.jxpath.ri.compiler.Expression
NOT_A_NUMBER, ONE, ZERO
 
Constructor Summary
ExpressionPath(Expression expression, Expression[] predicates, Step[] steps)
          Create a new ExpressionPath.
 
Method Summary
 Object compute(EvalContext context)
          Evaluates the expression.
 boolean computeContextDependent()
          Returns true if the root expression or any of the predicates or the path steps are context dependent.
 Object computeValue(EvalContext context)
          Evaluates the expression.
protected  Object expressionPath(EvalContext evalContext, boolean firstMatch)
          Walks an expression path (a path that starts with an expression)
 Expression getExpression()
          Get the expression.
 Expression[] getPredicates()
          Predicates are the expressions in brackets that may follow the root expression of the path.
 boolean isSimpleExpressionPath()
          Recognized paths formatted as $x[3]/foo[2].
 String toString()
           
 
Methods inherited from class org.apache.commons.jxpath.ri.compiler.Path
areBasicPredicates, buildContextChain, createContextForStep, evalSteps, getSingleNodePointerForSteps, getSteps, isSimplePath, isSimpleStep, searchForPath
 
Methods inherited from class org.apache.commons.jxpath.ri.compiler.Expression
isContextDependent, iterate, iteratePointers
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExpressionPath

public ExpressionPath(Expression expression,
                      Expression[] predicates,
                      Step[] steps)
Create a new ExpressionPath.

Parameters:
expression - Expression
predicates - to execute
steps - navigation
Method Detail

getExpression

public Expression getExpression()
Get the expression.

Returns:
Expression

getPredicates

public Expression[] getPredicates()
Predicates are the expressions in brackets that may follow the root expression of the path.

Returns:
Expression[]

computeContextDependent

public boolean computeContextDependent()
Returns true if the root expression or any of the predicates or the path steps are context dependent.

Overrides:
computeContextDependent in class Path
Returns:
boolean

isSimpleExpressionPath

public boolean isSimpleExpressionPath()
Recognized paths formatted as $x[3]/foo[2]. The evaluation of such "simple" paths is optimized and streamlined.

Returns:
boolean

toString

public String toString()
Overrides:
toString in class Object

compute

public Object compute(EvalContext context)
Description copied from class: Expression
Evaluates the expression. If the result is a node set, returns the first element of the node set.

Specified by:
compute in class Expression
Parameters:
context - evaluation context
Returns:
Object

computeValue

public Object computeValue(EvalContext context)
Description copied from class: Expression
Evaluates the expression. If the result is a node set, returns the first element of the node set.

Specified by:
computeValue in class Expression
Parameters:
context - evaluation context
Returns:
Object

expressionPath

protected Object expressionPath(EvalContext evalContext,
                                boolean firstMatch)
Walks an expression path (a path that starts with an expression)

Parameters:
evalContext - base context
firstMatch - whether to return the first match found
Returns:
Object found


Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.