在groovy中获取类的变量名称

时间:2015-03-12 10:25:49

标签: groovy

我使用Groovy Expando类来保存一些属性和方法。我想多次防止意外设置同一属性,如下面

e = new Expando()
e.var1 = 'abc'
e.var1 = 'cde'

为了做到这一点,我创建了一个扩展Expando的新类,如下所示

class MyExpando extends Expando {
void setProperty(String property, Object newValue) {
   if(this.getProperty(property)){
      throw new RuntimeException("duplicate declaration of $property in  ${this.class.name}")
   } else {
   super.setProperty(property, newValue)
    }
   } 
 }

这样可以抛出RuntimeException,但我希望错误消息类似于 e中的重复属性var1 。现在的问题是如何获得 e

0 个答案:

没有答案