View Javadoc

1   /* $Id$ */
2   /*
3    * Licensed to the Apache Software Foundation (ASF) under one or more
4    * contributor license agreements.  See the NOTICE file distributed with
5    * this work for additional information regarding copyright ownership.
6    * The ASF licenses this file to You under the Apache License, Version 2.0
7    * (the "License"); you may not use this file except in compliance with
8    * the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17  */
18  package org.apache.commons.el;
19  
20  import java.lang.reflect.Method;
21  import java.util.List;
22  
23  import javax.servlet.jsp.el.ELException;
24  import javax.servlet.jsp.el.FunctionMapper;
25  
26  /**
27   * A subclass of <code>FunctionInvocation</code> which is bound
28   * to a particular <code>Method</code>.  A bound function does
29   * not require a <code>FunctionMapper</code> to be evaluated.
30   * 
31   * @author Jamie Taylor
32   */
33  public class BoundFunctionInvocation extends FunctionInvocation {
34      private final Method method;
35      
36      /**
37       * @param functionName
38       * @param argumentList
39       */
40      public BoundFunctionInvocation(
41              final Method method,
42              final String functionName, 
43              final List argumentList) 
44      {
45          super(functionName, argumentList);
46          this.method = method;
47      }
48  
49      /**
50       * Returns the <code>Method</code>supplied to the constructor.
51       * @param functions unused
52       */
53      protected Method resolveFunction(FunctionMapper functions)
54              throws ELException {
55          return method;
56      }
57  }