1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.jexl.util;
18
19
20 import java.lang.reflect.InvocationTargetException;
21 import java.lang.reflect.Method;
22
23 import org.apache.commons.logging.Log;
24
25 /***
26 * Abstract class that is used to execute an arbitrary
27 * method that is in introspected. This is the superclass
28 * for the GetExecutor and PropertyExecutor.
29 *
30 * @author <a href="mailto:jvanzyl@apache.org">Jason van Zyl</a>
31 * @author <a href="mailto:geirm@apache.org">Geir Magnusson Jr.</a>
32 * @version $Id: AbstractExecutor.java,v 1.3 2004/02/28 13:45:21 yoavs Exp $
33 */
34 public abstract class AbstractExecutor
35 {
36 protected Log rlog = null;
37
38 /***
39 * Method to be executed.
40 */
41 protected Method method = null;
42
43 /***
44 * Execute method against context.
45 */
46 public abstract Object execute(Object o)
47 throws IllegalAccessException, InvocationTargetException;
48
49 /***
50 * Tell whether the executor is alive by looking
51 * at the value of the method.
52 */
53 public boolean isAlive()
54 {
55 return (method != null);
56 }
57
58 public Method getMethod()
59 {
60 return method;
61 }
62 }