Class ExpressionPath
java.lang.Object
org.apache.commons.jxpath.ri.compiler.Expression
org.apache.commons.jxpath.ri.compiler.Path
org.apache.commons.jxpath.ri.compiler.ExpressionPath
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) $
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.commons.jxpath.ri.compiler.Expression
Expression.PointerIterator, Expression.ValueIterator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private boolean
private Expression
private Expression[]
Fields inherited from class org.apache.commons.jxpath.ri.compiler.Expression
NOT_A_NUMBER, ONE, ZERO
-
Constructor Summary
ConstructorsConstructorDescriptionExpressionPath
(Expression expression, Expression[] predicates, Step[] steps) Create a new ExpressionPath. -
Method Summary
Modifier and TypeMethodDescriptioncompute
(EvalContext context) Evaluates the expression.boolean
Returns true if the root expression or any of the predicates or the path steps are context dependent.computeValue
(EvalContext context) Evaluates the expression.protected Object
expressionPath
(EvalContext evalContext, boolean firstMatch) Walks an expression path (a path that starts with an expression)Get the expression.Predicates are the expressions in brackets that may follow the root expression of the path.boolean
Recognized paths formatted as$x[3]/foo[2]
.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
-
Field Details
-
expression
-
predicates
-
basicKnown
private boolean basicKnown -
basic
private boolean basic
-
-
Constructor Details
-
ExpressionPath
Create a new ExpressionPath.- Parameters:
expression
- Expressionpredicates
- to executesteps
- navigation
-
-
Method Details
-
getExpression
Get the expression.- Returns:
- 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 classPath
- 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
-
compute
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 classExpression
- Parameters:
context
- evaluation context- Returns:
- Object
-
computeValue
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 classExpression
- Parameters:
context
- evaluation context- Returns:
- Object
-
expressionPath
Walks an expression path (a path that starts with an expression)- Parameters:
evalContext
- base contextfirstMatch
- whether to return the first match found- Returns:
- Object found
-