1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  package org.apache.commons.jexl;
17  
18  /***
19   *  A Resolver allows custom resolution of the expression, and can be
20   *  added in front of the jexl engine, or after in the evaluation.
21   *
22   *  @todo This needs to be explained in detail.  Why do this?
23   *  @since 1.0
24   *  @author <a href="mailto:geirm@adeptra.com">Geir Magnusson Jr.</a>
25   *  @version $Id: JexlExprResolver.java 397092 2006-04-26 05:11:28Z dion $
26   */
27  public interface JexlExprResolver {
28      /*** represents an expression result of no value. */ 
29      Object NO_VALUE = new Object();
30  
31      /***
32       *  Evaluates an expression against the context.
33       *
34       *  @todo Must detail the expectations and effects of this resolver.
35       *  @param context current data context
36       *  @param expression expression to evauluate
37       *  @return value (may be null) or the NO_VALUE object to
38       *       indicate no resolution.
39       */
40      Object evaluate(JexlContext context, String expression);
41  }