25 Mart 2019 Pazartesi

PropertyDescriptor Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;   
Introspection ile çalışır. Belirtilen field tipi ile getter/setter metodların tipleri birbirleri ile uyuşmalıdır.

Elimizde int f olsun.
Eğer setter olarak
void setF(String s) 
kullanırsak introspection'ı ihlal ettiğimiz için getWriteMethod() çağrısının yaparsak IntrospectionException alırız.

constructor
Şöyle yaparız.
Object value = new PropertyDescriptor("name", Person.class).getReadMethod()
  .invoke(person);
getReadMethod metodu
Örnek
Şöyle yaparız.
Class<?> beanClass = ...;
BeanInfo beanInfo = Introspector.getBeanInfo(beanClass);

PropertyDescriptor fooDescriptor = beanInfo.getPropertyDescriptors()[1];
assertNotNull(fooDescriptor.getReadMethod());
assertEquals("getFoo", fooDescriptor.getReadMethod().getName());
assertNotNull(fooDescriptor.getWriteMethod());
assertEquals("setFoo", fooDescriptor.getWriteMethod().getName());

Hiç yorum yok:

Yorum Gönder