Я пытаюсь реализовать доменный класс, который записывает, когда значение любого свойства было изменено, но мой setProperty()
результаты вызова в бесконечной рекурсии при устанавливании фактического значения.
Это - то, как это смотрит прямо сейчас:
void setProperty(String name, value)
{
if(name == "modified")
{
this.modified = value
return
}
else
{
if(this[name]==value)
{
return
}
this.modified = true
this[name]=value
}
}
Таким образом, как я могу получить доступ к свойству, данному его имя, не инициировав рекурсивное setProperty()
звонить? Или есть ли другой способ достигнуть моей цели?
Попробуйте:
this.@"$name" = value
(см. http://grovy.codehaus.org/Operators#operators-javafield%28. @%29 )