merhaba ben bir class'ta kendi yazdığım belli başlı bazı annotationları kullanmak istiyorum şöyle bi sıkıntım var ;

class bir {
    @Selam
    public void method() {
    }
}

bu classtan başka bir tane de anotasyonu yakalıyacak reflection sınıfım var. Olay şu method çağırıldığında üstündeki anotasyonun yapacağı işleri çalıştırmak. örenğin @Selam bir validation anotasyonu olsun ben methodu çağırdığımda anotasyon kontrol yapsın. Metod çağırıldığında anotasyonun çalışma işini nasıl yapabilirim.

soruldu: 23 Eki '12, 12:59

furkankaynak's gravatar image

furkankaynak
1195513
cevap kabul oranı: 0%

değiştirildi: 23 Eki '12, 14:19

rahmanyazgan's gravatar image

rahmanyazgan ♦
4.4k83559


Merhaba,

eger validator olarak kullanmak istiyorsan, tavsiyem basdan asagi kendin yaptigin koddan daha cok mevcut olan framework lari kullanmandir.

Örnegin hibernate validatorlari kullanabilirsin. Maven Lib

@Selam diye bir Annotasoyunu kollay bir sekilde uyugulama imkanin da olur:

public class SelamValiator implements ConstraintValidator<selam> {

...

}

@Documented

@Constraint(validatedBy = { })

@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })

@Retention(RUNTIME)

public @interface Selam{

..

}

Böylece Bean validationi kullana bilirsin.

Eger yok kendim yapmak isityorum diyorsan, o da mümkün. O zaman hibernate validatorun implementationuna bir göz atmani tavsiye ederim.

Özelkikle su iki sinifi:

org.hibernate.validator.internal.engine.ConstraintValidatorFactoryImpl

org.hibernate.validator.internal.engine.ConstraintTree (validateConstraints methodu)

permanent link

cevaplandı: 24 Eki '12, 04:33

mahmut_can's gravatar image

mahmut_can ♦
2.9k62552
cevap kabul oranı: 67%

Yeni Annotation tanimlama ve bu Annotation'larla islem yapmayla ilgili burda turkce anlatim var, baslangic icin faydali olabilir.

permanent link

cevaplandı: 24 Eki '12, 04:54

CemIkta's gravatar image

CemIkta ♦
19.9k29125190
cevap kabul oranı: 36%

Cevabınız
toggle preview

powered by BitNami OSQA