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);
}