Java BeanUtils - Contexte

La description

Les JavaBeans standard du langage Java peuvent être utilisés pour accéder aux valeurs de propriété des beans en utilisant les méthodes getter appropriées. Le langage Java fournit la classe java.beans.Introspector pour inspecter une classe Java lors de l'exécution. Cela indique les noms de propriété des méthodes getter et setter ainsi que les capacités de réflexion pour appeler ces méthodes dynamiquement. Vous pouvez utiliser l'obtention et la définition de propriétés de bean de manière dynamique en utilisant les API du package BeanUtils.

Les types de propriété JavaBean sont divisés en trois types (certains types de propriété sont pris en charge par la spécification JavaBeans et certains sont pris en charge par le package BeanUtils):

  • Simple: Les propriétés simples contiennent une valeur unique qui peut être récupérée ou modifiée. Vous pouvez utiliser un type de propriété comme une primitive de langage Java telle que int, un objet simple tel que java.lang.String ou un objet complexe qui est spécifié en utilisant le langage Java, une application ou une bibliothèque de classes avec l'application.

  • Indexed: Une collection ordonnée d'objets peut être stockée dans la propriété indexée qui peut être accédée individuellement à l'aide d'un index ou indice non négatif à valeur entière. Le package BeanUtils inclut un type de données appelé java.util.List doit être indexé dans la spécification JavaBeans.

  • Mapped: Le package BeanUtils contient un type de données appelé java.util.Map qui doit être mappé dans les API JavaBeans standard et les valeurs individuelles peuvent être définies et accessibles à l'aide d'une clé à valeur de chaîne.

Vous pouvez obtenir et définir les valeurs de propriété pour les types de données à l'aide des méthodes API spécifiées dans la classe PropertyUtils . Considérez l'extrait de code ci-dessous de deux classes de bean définies avec les méthodes getter et 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);
}