1 package org.apache.velocity.util.introspection; 2 3 /* 4 * Copyright 2002,2004 The Apache Software Foundation. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * 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 19 /** 20 * Method used for regular method invocation 21 * 22 * $foo.bar() 23 * 24 * 25 * @author <a HREF="mailto:geirm@optonline.net">Geir Magnusson Jr.</a> 26 * @version $Id: VelMethod.java,v 1.2.4.1 2004/03/03 23:23:08 geirm Exp $ 27 */ 28 public interface VelMethod 29 { 30 /** 31 * invocation method - called when the method invocationshould be 32 * preformed and a value returned 33 */ 34 public Object invoke(Object o, Object[] params) 35 throws Exception; 36 37 /** 38 * specifies if this VelMethod is cacheable and able to be 39 * reused for this class of object it was returned for 40 * 41 * @return true if can be reused for this class, false if not 42 */ 43 public boolean isCacheable(); 44 45 /** 46 * returns the method name used 47 */ 48 public String getMethodName(); 49 50 /** 51 * returns the return type of the method invoked 52 */ 53 public Class getReturnType(); 54 } 55