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