2010-01-15 8 views
5

Ben herhangi bir özelliğin değeri ne zaman değiştirildiğine kaydeden bir etki alanı sınıfını uygulamak çalışıyorum, ancak sonsuz özyinelemede benim setProperty() çağrı sonuçları gerçek değerini ayarlarken.Groovy: Nasıl setProperty() içinde bir özelliğini ayarlayın ve sonsuz yinelemeye önlemek için?

Bu şu anda böyle görünüyor:

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

Bu yüzden bir özyinelemeli setProperty() çağrı tetiklemeden Adından verilen bir özelliğe erişmek nasıl? Ya da hedefime ulaşmanın farklı bir yolu var mı?

cevap

8
+0

bu @ ad belirli bir özelliğine erişmek istiyorum, ama mülkiyet adına göre jenerik erişim ihtiyacı.. Cevabını şimdi çalışmam için değiştirdim. Tuhaf bir şekilde, zaten. @ Operatörünü bulmuş ve denemiştim. Netbeans'in hala önceki kodu çalıştırdığından şüpheleniyorum (gerçekten bu şekilde berbat). –

+0

Mükemmel. Sevindim, senin için çalıştı. –

İlgili konular