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 /***
21 * Interface used for setting values that appear to be properties in
22 * Velocity. Ex.
23 *
24 * #set($foo.bar = "hello")
25 *
26 * @author <a href="mailto:geirm@optonline.net">Geir Magnusson Jr.</a>
27 * @version $Id: VelPropertySet.java,v 1.3 2004/02/28 13:45:22 yoavs Exp $
28 */
29 public interface VelPropertySet
30 {
31 /***
32 * method used to set the value in the object
33 *
34 * @param o Object on which the method will be called with the arg
35 * @param arg value to be set
36 * @return the value returned from the set operation (impl specific)
37 */
38 public Object invoke(Object o, Object arg) throws Exception;
39
40 /***
41 * specifies if this VelPropertySet is cacheable and able to be
42 * reused for this class of object it was returned for
43 *
44 * @return true if can be reused for this class, false if not
45 */
46 public boolean isCacheable();
47
48 /***
49 * returns the method name used to set this 'property'
50 */
51 public String getMethodName();
52 }