12 Nisan 2018 Perşembe

Apache Commons BeanUtils Sınıfı

Giriş
Bu sınıfı kullanmak için şöyle yaparız.
import org.apache.commons.beanutils.BeanUtils;
Bu sınıf ve PropertyUtils hemen hemen aynı şeyleri yapıyor gibi görünüyor, ancak aralarında önemli bir fark var. BeanUtils verilen parametreyi, setter metodunda kullanılan tipe çevirmeye çalışıyor. Örneğin double tipindeki bir alana, string verilse bile çalışır. PropertyUtils bu çevrimi yapmıyor.
FieldUtils ile kardeş sayılır.

Not : Spring içinde de aynı isimli BeanUtils sınıfı var. Karıştırmamak lazım!

copyProperties metodu - destinaton + original
Şöyle yaparız. Exception yakalamayı göstermedim.
Ch409F fromBean = new Ch409F();
...
Ch409DifF toBean = new Ch409DifF();
...
BeanUtils.copyProperties(toBean, fromBean);
copyProperties metodu - destination + original + properties
Sadece verilen alanları kopyalar.

getProperty metodu
Şöyle yaparız.
Object object = ...;
Object str = BeanUtils.getProperty(object,"count");
setProperty metodu
Şöyle yaparız.
Object reflectedInstance = ...;
Object objectFromResponse = ...;

Field[] fields = reflectedInstance.getClass().getDeclaredFields();
for(Field field: fields) {

  Object objectFromResponse = ...;

  if(if(field.getName().equals("...")) {

     BeanUtils.setProperty(reflectedInstance, field.getName(), objectFromResponse);
}

Hiç yorum yok:

Yorum Gönder