Groovy中用于Java类的动态字段

时间:2011-08-24 15:35:34

标签: java groovy

有没有办法可以使用一对“常规”getter / setter方法创建Java类,例如

public Object get(String name);
public void set(String name, Object object);

并使Groovy翻译语句,例如

myObject.foo = 'bar' 

myObject.set("foo", "bar")?

myObject是具有get(String)set(String, Object)方法的Java类的实例)

2 个答案:

答案 0 :(得分:3)

让你的java类扩展groovy.lang.GroovyObjectSupport,它提供getPropertysetProperty的实现,或者实现接口groovy.lang.GroovyObject

答案 1 :(得分:0)

你必须在Groovy中编写两个方法(假设你从Java类派生你的Groovy类):

def getProperty(String name) { "This is the property '$name'"   }   
void setProperty(String name, value) { println "You tried to set property '$name' to '$value'"   }