01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * 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: package javax.servlet.jsp.el;
19:
20: /**
21: * <p>The abstract class for a prepared expression.</p>
22: *
23: * <p>An instance of an Expression can be obtained via from an
24: * ExpressionEvaluator instance.</p>
25: *
26: * <p>An Expression may or not have done a syntactic parse of the expression.
27: * A client invoking the evaluate() method should be ready for the case
28: * where ELParseException exceptions are raised. </p>
29: *
30: * @since 2.0
31: * @deprecated
32: */
33: public abstract class Expression {
34:
35: /**
36: * Evaluates an expression that was previously prepared. In some
37: * implementations preparing an expression involves full syntactic
38: * validation, but others may not do so. Evaluating the expression may
39: * raise an ELParseException as well as other ELExceptions due to
40: * run-time evaluation.
41: *
42: * @param vResolver A VariableResolver instance that can be used at
43: * runtime to resolve the name of implicit objects into Objects.
44: * @return The result of the expression evaluation.
45: *
46: * @exception ELException Thrown if the expression evaluation failed.
47: */
48: public abstract Object evaluate(VariableResolver vResolver)
49: throws ELException;
50: }
|