org.apache.commons.jexl
Interface Expression

All Known Implementing Classes:
ExpressionImpl

public interface Expression

Represents a single JEXL expression. This simple interface provides access to the underlying expression through getExpression(), and it provides hooks to add a pre- and post- expression resolver.

An expression is different than a script - it is simply a reference of an expression.

Version:
$Id: Expression.java,v 1.7 2004/08/23 13:53:34 dion Exp $
Author:
Geir Magnusson Jr.

Method Summary
 void addPostResolver(JexlExprResolver resolver)
          allows addition of a resolver to allow custom interdiction of expression evaluation
 void addPreResolver(JexlExprResolver resolver)
          allows addition of a resolver to allow custom interdiction of expression evaluation
 java.lang.Object evaluate(JexlContext context)
          Evaluates the expression with the variables contained in the supplied JexlContext.
 java.lang.String getExpression()
          Returns the JEXL expression this Expression was created with.
 

Method Detail

evaluate

public java.lang.Object evaluate(JexlContext context)
                          throws java.lang.Exception
Evaluates the expression with the variables contained in the supplied JexlContext.

Parameters:
context - A JexlContext containing variables.
Returns:
The result of this evaluation
Throws:
java.lang.Exception

getExpression

public java.lang.String getExpression()
Returns the JEXL expression this Expression was created with.

Returns:
The JEXL expression to be evaluated

addPreResolver

public void addPreResolver(JexlExprResolver resolver)
allows addition of a resolver to allow custom interdiction of expression evaluation

Parameters:
resolver - resolver to be called before Jexl expression evaluated

addPostResolver

public void addPostResolver(JexlExprResolver resolver)
allows addition of a resolver to allow custom interdiction of expression evaluation

Parameters:
resolver - resolver to be called if Jexl expression evaluated to null