1 /** 2 * 3 * Copyright 2003-2004 The Apache Software Foundation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 // 19 // This source code implements specifications defined by the Java 20 // Community Process. In order to remain compliant with the specification 21 // DO NOT add / change / or delete method signatures! 22 // 23 24 package javax.servlet.jsp.el; 25 26 /** 27 * <p>This class is used to customize the way an ExpressionEvaluator resolves 28 * variable references at evaluation time. For example, instances of this class can 29 * implement their own variable lookup mechanisms, or introduce the 30 * notion of "implicit variables" which override any other variables. 31 * An instance of this class should be passed when evaluating 32 * an expression.</p> 33 * 34 * <p>An instance of this class includes the context against which resolution 35 * will happen</p> 36 * 37 * @since 2.0 38 */ 39 public interface VariableResolver 40 { 41 //------------------------------------- 42 /** 43 * Resolves the specified variable. 44 * Returns null if the variable is not found. 45 * 46 * @param pName the name of the variable to resolve 47 * @return the result of the variable resolution 48 * 49 * @throws ELException if a failure occurred while trying to resolve 50 * the given variable 51 **/ 52 public Object resolveVariable (String pName) 53 throws ELException; 54 55 //------------------------------------- 56 }