2010-01-15 3 views
5

Я пытаюсь реализовать класс домена, который записывает, когда значение свойства было изменено, но мой вызов setProperty() приводит к бесконечной рекурсии при установке фактического значения.Groovy: Как установить свойство в 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() вызов? Или есть другой способ достичь моей цели?

ответ

8
+0

это @ имя будет получить доступ к специфическому свойству, но мне нужен общий доступ, основанному на имя свойства.. Я изменил ваш ответ на то, что мне теперь нужно. Как ни странно, я уже нашел и попробовал оператор @. Я подозреваю, что Netbeans все еще запускал предыдущий код (это действительно так отстойно). –

+0

Отлично. Рад, что это сработало для вас. –