1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.codehaus.groovy.runtime.wrappers;
19
20 import groovy.lang.GroovyObject;
21 import groovy.lang.MetaClass;
22
23 /***
24 * @author John Wilson
25 *
26 */
27
28 public class GroovyObjectWrapper extends Wrapper {
29 protected final GroovyObject wrapped;
30
31 public GroovyObjectWrapper(final GroovyObject wrapped, final Class constrainedType) {
32 super(constrainedType);
33 this.wrapped = wrapped;
34 }
35
36 public Object unwrap() {
37 return this.wrapped;
38 }
39
40 /***
41 * Note the rest of these method will only be used post 1.0
42 */
43
44
45
46
47 public Object getProperty(final String property) {
48 return this.wrapped.getProperty(property);
49 }
50
51
52
53
54 public Object invokeMethod(final String name, final Object args) {
55 return this.wrapped.invokeMethod(name, args);
56 }
57
58
59
60
61 public void setMetaClass(final MetaClass metaClass) {
62 this.wrapped.setMetaClass(metaClass);
63 }
64
65
66
67
68 public void setProperty(final String property, final Object newValue) {
69 this.wrapped.setProperty(property, newValue);
70 }
71
72 protected Object getWrapped() {
73 return this.wrapped;
74 }
75
76 protected MetaClass getDelegatedMetaClass() {
77 return this.wrapped.getMetaClass();
78 }
79 }