Java BeanUtils - Plano de fundo

Descrição

Os JavaBeans padrão da linguagem Java podem ser usados ​​para acessar os valores de propriedade dos beans usando os métodos getter apropriados. A linguagem Java fornece a classe java.beans.Introspector para inspecionar uma classe Java em tempo de execução. Isso indica os nomes de propriedade dos métodos getter e setter junto com as habilidades de reflexão para chamar esses métodos dinamicamente. Você pode fazer uso de obter e definir propriedades de bean dinamicamente usando a API no pacote BeanUtils.

Os tipos de propriedade JavaBean são divididos em três tipos (alguns tipos de propriedade são suportados pela especificação JavaBeans e alguns são suportados pelo pacote BeanUtils):

  • Simple: As propriedades simples contêm um valor único que pode ser recuperado ou alterado. Você pode usar o tipo de propriedade como linguagem primitiva Java, como int, um objeto simples, como java.lang.String , ou um objeto complexo que é especificado usando a linguagem Java, um aplicativo ou uma biblioteca de classes com o aplicativo.

  • Indexed: Uma coleção ordenada de objetos pode ser armazenada na propriedade indexada, que pode ser acessada individualmente usando um índice ou subscrito não negativo de valor inteiro. O pacote BeanUtils inclui o tipo de dados chamado java.util.List e deve ser indexado na especificação JavaBeans.

  • Mapped: O pacote BeanUtils contém o tipo de dados chamado java.util.Map que deve ser mapeado nas APIs JavaBeans padrão e os valores individuais podem ser definidos e acessados ​​usando uma chave com valor de String.

Você pode obter e definir os valores de propriedade para os tipos de dados usando os métodos API especificados na classe PropertyUtils . Considere o fragmento de código abaixo de duas classes de bean definidas com os métodos getter e setter :

public class Employee {
   public FullName getFullName();
   public void setFullName(String type, FullName fullname);
   public Employee getSubordinate(int index);
   public void setSubordinate(int index, Employee subordinate);
   public String getFirstName();
   public void setFirstName(String first_name);
   public String getLastName();
   public void setLastName(String last_name);
}