org.apache.commons.jexl

## Interface Expression

    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.

Since:
  1.0
Version:
  $Id: Expression.java 480412 2006-11-29 05:11:23Z bayard $
Author:
  Geir Magnusson Jr.

### Method Summary

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

    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` - on any error

#### getExpression

    java.lang.String getExpression()

Returns the JEXL expression this Expression was created with.

Returns:
  The JEXL expression to be evaluated

#### addPreResolver

    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

    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.