Java BeanUtils - Temel Özellik Erişimi
Açıklama
Aşağıdaki yolları kullanarak temel özelliklere erişebilirsiniz:
Basit Özellik
Dizine Alınmış Mülk
Eşlenen Mülk
Basit Özellik
Alabilir ve ayarlayabilirsiniz simple aşağıdaki API imzalarını kullanarak özellik değerleri:
PropertyUtils.getSimpleProperty (Nesne, Dize)
PropertyUtils.SetSimpleProperty (Nesne, Dize, Nesne)
Parametreler:
Object: Çıkarılacak bean özelliğini belirleyen bir bean nesnesidir.
String: Çıkarılacak özelliğin adını belirten bir dize adıdır.
Dizine Alınmış Mülk
Oluşturmak için iki seçeneği kullanabilirsiniz indexedözellikleri; ilk seçenek, alt simgeyi özellik adına oluşturmaktır ve ikinci seçenek, alt simgeyi yöntemi çağırmak için ayrı bir argümanda tanımlamaktır.
Dizine eklenen özellikler aşağıdaki yöntemler kullanılarak alınabilir ve ayarlanabilir:
PropertyUtils.getIndexedProperty (Nesne, Dize)
PropertyUtils.getIndexedProperty (Nesne, Dize, int)
PropertyUtils.setIndexedProperty (Nesne, Dize, Nesne)
PropertyUtils.setIndexedProperty (Nesne, Dize, int, Nesne)
Parametreler:
Object: Çıkarılacak bean özelliğini belirleyen bir bean nesnesidir.
String: Çıkarılacak özelliğin adını belirten bir dize adıdır.
int: Özellik değerinin bir dizinini ayarlar.
Object: Dizine alınmış bir özellik elemanının değerini belirtir.
Eşlenen Mülk
Alabilir ve ayarlayabilirsiniz mappedaşağıdaki API imzalarını kullanarak özellik değerleri. Ekstra argümanınız varsa, köşeli parantez kullanmak yerine parantez içine ("(" ve ")") olarak yazılabilir.
PropertyUtils.getMappedProperty (Nesne, Dize)
PropertyUtils.getMappedProperty (Nesne, Dize, Dize)
PropertyUtils.setMappedProperty (Nesne, Dize, Nesne)
PropertyUtils.setMappedProperty (Nesne, Dize, Dize, Nesne)
Parametreler:
Object: Çıkarılacak bean özelliğini belirleyen bir bean nesnesidir.
String: Eşlenen özellik için ayarlanması gereken özellik değerinin adıdır.
String: Ayarlanacak özellik değerinin anahtarını tanımlar.
Object: Ayarlanacak özelliğin değerini belirtir.
Misal
Aşağıdaki örnek, beanUtils içinde yukarıdaki özelliklerin kullanımını gösterir:
import org.apache.commons.beanutils.PropertyUtils;
import java.util.ArrayList;
import java.util.List;
public class BeanUtilsPropertyDemo{
public static void main(String args[]){
try{
// Creating the bean and allows to access getter and setter properties
MyBean myBean = new MyBean();
// Setting the properties on the myBean
PropertyUtils.setSimpleProperty(myBean, "stringProp", "Hello!This is a string");
PropertyUtils.setSimpleProperty(myBean, "floatProp", new Float(25.20));
// Getting the simple properties
System.out.println("String Property: " + PropertyUtils.getSimpleProperty(myBean, "stringProp"));
System.out.println("Float Property: " + PropertyUtils.getSimpleProperty(myBean, "floatProp"));
// Here we will create a list for the indexed property
List
list = new ArrayList
(); list.add("String value 0"); list.add("String value 1"); myBean.setListProp(list); // get and set this indexed property PropertyUtils.setIndexedProperty(myBean, "listProp[1]", "This is new string value 1"); System.out.println("List Property[1]: " + PropertyUtils.getIndexedProperty(myBean, "listProp[1]")); }catch(Exception e){ System.out.println(e); } } }
Now we will create one more class called MyBean.java for the bean class:
import java.util.ArrayList;
import java.util.List;
public class MyBean {
private String stringProp;
private float floatProp;
//indexed property
@SuppressWarnings("rawtypes")
private List listProp = new ArrayList();
public void setStringProp(String stringProp) { this.stringProp = stringProp; }
public String getStringProp() { return this.stringProp; }
public void setFloatProp(float floatProp) { this.floatProp = floatProp; }
public float getFloatProp() { return this.floatProp; }
public void setListProp(List<?> listProp) { this.listProp = listProp; }
public List<?> getListProp() { return this.listProp; }
}
Output
Let's carry out the following steps to see how above code works:
Save the above first code as BeanUtilsPropertyDemo.java.
Now execute the code using Run option or Ctrl+f11 and output as below gets displayed.