1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.jexl.util.introspection;
18
19 /***
20 * Interface defining a 'getter'. For uses when looking for resolution of
21 * property references
22 *
23 * $foo.bar
24 *
25 * @since 1.0
26 * @author <a href="mailto:geirm@optonline.net">Geir Magnusson Jr.</a>
27 * @version $Id: VelPropertyGet.java 398514 2006-05-01 03:44:34Z dion $
28 */
29 public interface VelPropertyGet {
30 /***
31 * invocation method - called when the 'get action' should be performed and
32 * a value returned.
33 * @param o the object to get the property from.
34 * @return the property value.
35 * @throws Exception on any error.
36 */
37 Object invoke(Object o) throws Exception;
38
39 /***
40 * specifies if this VelPropertyGet is cacheable and able to be reused for
41 * this class of object it was returned for.
42 *
43 * @return true if can be reused for this class, false if not
44 */
45 boolean isCacheable();
46
47 /***
48 * returns the method name used to return this 'property'.
49 * @return the method name.
50 */
51 String getMethodName();
52 }