Java BeanUtils - Akses Properti Dasar

Deskripsi

Anda dapat mengakses properti dasar dengan menggunakan cara-cara berikut:

  • Properti Sederhana

  • Properti Terindeks

  • Properti yang Dipetakan

Properti Sederhana

Anda bisa mendapatkan dan menyetel file simple nilai properti dengan menggunakan tanda tangan API di bawah ini:

  • PropertyUtils.getSimpleProperty (Object, String)

  • PropertyUtils.SetSimpleProperty (Object, String, Object)

Parameter:

  • Object: Ini adalah objek kacang yang menentukan properti kacang yang akan diekstraksi.

  • String: Ini adalah nama string yang menentukan nama properti yang akan diekstrak.

Properti Terindeks

Anda dapat menggunakan dua opsi untuk membuat indexedproperti; Opsi pertama adalah membangun subskrip menjadi nama properti dan opsi kedua mendefinisikan subskrip dalam argumen terpisah untuk memanggil metode tersebut.

Properti yang diindeks bisa didapatkan dan disetel dengan menggunakan metode di bawah ini:

  • PropertyUtils.getIndexedProperty (Object, String)

  • PropertyUtils.getIndexedProperty (Object, String, int)

  • PropertyUtils.setIndexedProperty (Objek, String, Objek)

  • PropertyUtils.setIndexedProperty (Object, String, int, Object)

Parameter:

  • Object: Ini adalah objek kacang yang menentukan properti kacang yang akan diekstraksi.

  • String: Ini adalah nama string yang menentukan nama properti yang akan diekstrak.

  • int: Ini menetapkan indeks nilai properti.

  • Object: Ini menentukan nilai untuk elemen properti yang diindeks.

Properti yang Dipetakan

Anda bisa mendapatkan dan menyetel file mappednilai properti dengan menggunakan tanda tangan API di bawah ini. Jika Anda memiliki argumen tambahan, maka argumen itu dapat ditulis di dalam tanda kurung sebagai ("(" dan ")") daripada menggunakan tanda kurung siku.

  • PropertyUtils.getMappedProperty (Object, String)

  • PropertyUtils.getMappedProperty (Object, String, String)

  • PropertyUtils.setMappedProperty (Objek, String, Objek)

  • PropertyUtils.setMappedProperty (Objek, String, String, Objek)

Parameter:

  • Object: Ini adalah objek kacang yang menentukan properti kacang yang akan diekstraksi.

  • String: Ini adalah nama dari nilai properti yang harus disetel untuk properti yang Dipetakan.

  • String: Ini mendefinisikan kunci dari nilai properti yang akan disetel.

  • Object: Ini menentukan nilai properti yang akan disetel.

Contoh

Contoh di bawah ini menunjukkan penggunaan properti di atas di beanUtils:

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.