1 package org.apache.velocity.test.misc;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.velocity.util.introspection.Info;
23 import org.apache.velocity.util.introspection.UberspectImpl;
24 import org.apache.velocity.util.introspection.VelMethod;
25 import org.apache.velocity.util.introspection.VelPropertyGet;
26
27
28
29
30
31 public class UberspectTestImpl extends UberspectImpl
32 {
33
34 public VelMethod getMethod(Object obj, String methodName, Object[] args, Info i) throws Exception
35 {
36 VelMethod method = super.getMethod(obj, methodName, args, i);
37
38 if (method == null)
39 {
40 if (obj == null)
41 throw new UberspectTestException("Can't call method '" + methodName + "' on null object",i);
42 else
43 throw new UberspectTestException("Did not find method "+ obj.getClass().getName()+"."+methodName, i);
44 }
45
46 return method;
47 }
48
49 public VelPropertyGet getPropertyGet(Object obj, String identifier, Info i) throws Exception
50 {
51 VelPropertyGet propertyGet = super.getPropertyGet(obj, identifier, i);
52
53 if (propertyGet == null)
54 {
55 if (obj == null)
56 throw new UberspectTestException("Can't call getter '" + identifier + "' on null object",i);
57 else
58 throw new UberspectTestException("Did not find "+ obj.getClass().getName()+"."+identifier, i);
59 }
60
61 return propertyGet;
62 }
63
64 }