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)
35 throws Exception
36 {
37 VelMethod method = super.getMethod(obj, methodName, args, i);
38
39 if (method == null)
40 {
41 if (obj == null)
42 throw new UberspectTestException("Can't call method '" + methodName + "' on null object",i);
43 else
44 throw new UberspectTestException("Did not find method "+ obj.getClass().getName()+"."+methodName, i);
45 }
46
47 return method;
48 }
49
50 public VelPropertyGet getPropertyGet(Object obj, String identifier, Info i)
51 throws Exception
52 {
53 VelPropertyGet propertyGet = super.getPropertyGet(obj, identifier, i);
54
55 if (propertyGet == null)
56 {
57 if (obj == null)
58 throw new UberspectTestException("Can't call getter '" + identifier + "' on null object",i);
59 else
60 throw new UberspectTestException("Did not find "+ obj.getClass().getName()+"."+identifier, i);
61 }
62
63 return propertyGet;
64 }
65
66 }