2010-01-15 11 views
5

Estoy tratando de implementar una clase de dominio que registre cuando se modificó el valor de cualquier propiedad, pero mi llamada setProperty() da como resultado una recursión infinita al establecer el valor real.Groovy: cómo establecer una propiedad dentro de setProperty() y evitar la recursión infinita?

Esto es como se ve en este momento:

void setProperty(String name, value) 
{ 
    if(name == "modified") 
    { 
     this.modified = value 
     return 
    } 
    else 
    { 
     if(this[name]==value) 
     { 
      return 
     } 
     this.modified = true 
     this[name]=value 
    } 
} 

Entonces, ¿cómo puedo acceder a una propiedad dada su nombre sin desencadenar una recursiva setProperty() llamada? ¿O hay una forma diferente de lograr mi objetivo?

Respuesta

8
+0

este @ nombre sería acceder a una propiedad específica, pero necesito el acceso genérico basado en nombre de la propiedad.. Cambié tu respuesta a lo que ahora tengo que trabajar. Extrañamente, ya había encontrado y probado el operador @. Sospecho que Netbeans todavía estaba ejecutando el código anterior (realmente apesta de esa manera). –

+0

Excelente. Gustoso de trabajar para ti. –

Cuestiones relacionadas