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
20
21
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 }