This should be straight-forward, but it is failing for me (at least on 2.3x and 2.4.x). What am I doing wrong?

Here is some code sufficiently distilled.

class A {
  void addSomeProp( String name,String key, def value ) {
    if(metaClass.getMetaProperty(name)==null) {
      metaClass."${name}" = [:]
    }
    metaClass."${name}"[key]=value.toString()
  }
}

A a = new A()
a.addSomeProp( 'info','version',3) // Fails with: No such property: info for class: groovy.lang.MetaClassImpl

The idea is to add a map (of name) if it does not exist, and then add items into the map.

--
Schalk W. Cronjé
Twitter / Ello / Toeter : @ysb33r

Reply via email to