Rational Developer for System z, version 7.6

Obtention des listes de catégories, propriétés et instances de catégorie

Cet exemple montre comment obtenir à l'aide d'un programme la liste des catégories et propriétés enregistrées. Actuellement, il est possible d'obtenir le nom des catégories et propriétés enregistrées. Il est possible d'obtenir les instances de chaque catégories, ainsi que les valeurs de propriété de chaque instance.

Exemple de scénario

Pour extraire des informations sur les catégories, les propriétés et les instances, sélectionnez l'action Exemples d'API > Informations de propriétés.

graphique listProperties

Pour chaque catégorie enregistrée, les informations associées (nom, propriétés et instances éventuelles de cette catégorie) s'affichent dans la sortie standard associée au plan de travail. Vous pouvez la trouver dans la fenêtre DOS à partir de laquelle a été lancé le plan de travail ou dans la vue Console du plan de travail d'hébergement dans le cas du plan de travail d'exécution.

Remarque : Il est possible que la sortie standard correspondant à un plan de travail démarré avec l'icône Eclipse standard ne soit pas visible, selon les paramètres d'exécution définis pour le plan de travail.

graphique listPropertiesResults

Exemple de structure de code

Extraction des catégories enregistrées

Le fragment de code suivant de la classe ListPropertiesAction montre comment récupérer les catégories enregistrées :
  
ZOSPropertyGroupManager manager = ZOSPropertyGroupManager.getZOSPropertyGroupManager();
// Retrieve registered categories
List<ICategory> categories = manager.getCategories();

Il commence en utilisant la classe ZOSPropertyGroupManager, obtenue via la méthode getZOSPropertyGroupManager de la classe ZOSPropertyGroupManager, pour extraire les objets ICategory représentant les catégories enregistrées. Ces dernières peuvent également s'obtenir via la classe ( LocalPropertyGroupManager) puisque les deux gestionnaires partagent le même point d'extension Eclipse pour enregistrer les propriétés.

Utilisation d'objets de catégorie

Le fragment de code suivant de la classe ListPropertiesAction montre comment utiliser les objets ICategory :
 
for (ICategory category : categories) {
  System.out.println("---------------");
  System.out.println("Category: " + category.getName());
  // Retrieve registered properties for this category.
  List<IPropertyInfo> infos = category.getPropertyInformation();
  for (IPropertyInfo info : infos) {
    System.out.println("  Property: " + info.getName());
  }
  // Retrieve category instances for each registered category, and print
  // the properties and values for each instance.
  List<ICategoryInstance> instances = category.getInstances();
  for (ICategoryInstance instance : instances) {
    System.out.println("  Instance: ");
    List<IProperty> properties = instance.getProperties();
    for (IProperty property : properties) {
    System.out.println("    ----");
    System.out.println("    Property name: " + property.getName());
    System.out.println("    Property value: " + property.getValue());
  }
}

Chaque catégorie porte un nom et permet de récupérer des objets IPropertyInfo, portant le nom des propriétés enregistrées pour cette catégorie.

Chaque catégorie permet de récupérer des objets ICategoryInstance qui contiennent les valeurs de propriété. Enfin, les objets IProperty récupérés dans un objet ICategoryInstance portent le nom de la propriété et de la valeur de propriété.

L'élément de menu est ajouté au plan de travail via un jeu d'actions Eclipse :
  <extension
         id="com.ibm.ftt.api.samples.actionSets"
         name="%apiSample.actionSets"
         point="org.eclipse.ui.actionSets">
      <actionSet label="com.ibm.ftt.api.samples.actionSet1"
            description="Action set for the API samples"
            visible="true"
            id="com.ibm.ftt.api.samples.actionSet1">
         <menu label="%apiMenu.title"
               id="com.ibm.ftt.api.samples.apiMenu">
            <separator name="com.ibm.ftt.api.samples.apiMenu.resourcesAPI"/>
         </menu>
         <action label="%apiMenu.samples.listProperties"
               class="com.ibm.ftt.api.samples.resources.ListPropertiesAction"
               style="push" menubarPath=
    "com.ibm.ftt.api.samples.apiMenu/com.ibm.ftt.api.samples.apiMenu.resourcesAPI"
               id="com.ibm.ftt.api.samples.listPropertiesAction"/>
               ......
      </actionSet>
   </extension>

Conditions d'utilisation | Commentaires

Ce centre de documentation utilise la technologie Eclipse. (http://www.eclipse.org)