Chapter 3 Construction de diagrammes structurels


Création de classes Java BeanInfo

Si vous utilisez le langage objet Java, vous pouvez créer des classes Java BeanInfo à partir de n'importe quelle classe ayant le type "JavaBean".

Un JavaBean est un composant logiciel réutilisable qui peut être manipulé visuellement dans un outil de développement. Une classe Java BeanInfo est utilisée comme représentation standard d'un Bean. Chaque JavaBean peut mettre en oeuvre une classe BeanInfo. Les développeurs ayant recours à des Bean peuvent être amenés à fournir des informations explicites sur les méthodes, les propriétés et les événements d'un Bean en fournissant une classe Java BeanInfo.

La classe BeanInfo est générée avec un attribut, ainsi qu'avec les opérations suivantes :

Vous pouvez visualiser l'intégralité du code en cliquant sur l'onglet Aperçu dans la feuille de propriétés de la classe BeanInfo.

Attribut créé

L'attribut a le code suivant :

private static final Class <ClassCode>Class = <ClassCode>.class;

Opérations créées

Le code du constructeur est le suivant :

<ClassCode>BeanInfo()
{
     super();
   }

L'opération getPropertyDescriptors() a le code suivant :

public PropertyDescriptor[] getPropertyDescriptors ()
{
 // Declare the property array
 PropertyDescriptor properties[] = null;

 // Set properties
 try
 {
    // Create the array
    properties = new PropertyDescriptor[<nbProperties>];
    // Set property 1
    properties[0] = new PropertyDescriptor("<propertyCode1>" ,<ClassCode>Class;
    properties[0].setConstrained(false);
    properties[0].setDisplayName("propertyName1");
    properties[0].setShortDescription("propertyComment1");
    // Set property 2
    properties[1] = new PropertyDescriptor("<propertyCode2>" ,<ClassCode>Class;
    properties[1].setConstrained(false);
    properties[1].setDisplayName("propertyName2");
    properties[1].setShortDescription("propertyComment2");

 }
 catch
 {
    // Handle errors
 }
 return properties;
}

L'opération getMethodDescriptors() a le code suivant :

public MethodDescriptor[] getMethodDescriptors ()
{
 // Declare the method array
 MethodDescriptor methods[] = null;
 ParameterDescriptor parameters[] = null;
    
 // Set methods
 try
 {
    // Create the array
    methods = new MethodDescriptor[<nbMethods>];
    // Set method 1
    parameters = new ParameterDescriptor[<nbParameters1>];
    parameters[0] = new ParameterDescriptor();
    parameters[0].setName("parameterCode1");
    parameters[0].setDisplayName("parameterName1");
    parameters[0].setShortDescription("parameterComment1");
    methods[0] = new MethodDescriptor("<methodCode1>", parameters);
    methods[0].setDisplayName("methodName1");
    methods[0].setShortDescription("methodComment1");
    // Set method 2
    methods[1] = new MethodDescriptor("<methodCode2>");
    methods[1].setDisplayName("methodName2");
    methods[1].setShortDescription("methodComment2");

 }
 catch
 {
    // Handle errors
 }
 return methods;
 }

Lorsque vous créez une classe Java BeanInfo, un lien de dépendance est automatiquement créé entre les classes et le stéréotype de la classe Java BeanInfo est défini à <<BeanInfo>>.

Création d'une classe Java BeanInfo à partir du menu Langage

Steps Pour créer une classe Java BeanInfo à partir du menu Langage :

  1. Sélectionnez Langage→Créer des classes BeanInfo pour afficher la fenêtre de sélection Créer des classes BeanInfo. Elle contient une liste de toutes classes du modèle qui sont définies avec le type Java Bean.
  2. Sélectionnez les classes pour lesquelles vous souhaitez créer des classes Java BeanInfo, puis cliquez sur OK.

    Une classe BeanInfo est créée dans le modèle pour chaque classe sélectionnée.

Création d'une classe Java BeanInfo à partir du menu contextuel d'une classe

Steps Pour créer une classe Java BeanInfo à partir du menu contextuel d'une classe :

  1. Pointez sur un symbole de classe dans le diagramme et cliquez le bouton droit de la souris , puis sélectionnez Créer une classe BeanInfo dans le menu contextuel.

 


Copyright (C) 2008. Sybase Inc. All rights reserved.