Jusque là, nous avons considéré les différentes extensions fournies par l'outil readme. Observons à présent la définition générale du plug-in de l'outil readme.
Le plug-in de l'outil readme est défini dans le fichier MANIFEST.MF.
Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Plugin.name Bundle-SymbolicName: org.eclipse.ui.examples.readmetool; singleton:=true Bundle-Version: 3.2.0.qualifier Bundle-ClassPath: readmetool.jar Bundle-Activator: org.eclipse.ui.examples.readmetool.ReadmePlugin Bundle-Vendor: %Plugin.providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.resources, org.eclipse.core.runtime, org.eclipse.ui.views, org.eclipse.ui.ide, org.eclipse.jface.text, org.eclipse.text, org.eclipse.ui.workbench.texteditor, org.eclipse.ui.editors Eclipse-AutoStart: true Commentaire Eclipse-AutoStart : Utiliser Eclipse-AutoStart au lieu de Eclipse-LazyStart car l'exemple de readme doit s'exécuter au niveau de la version 3.1 et 3.2.
La définition du plug-in inclut le nom du bundle, le nom symbolique du bundle (ID de plug-in), la version du bundle et le fournisseur du bundle du plug-in. Nous avons déjà vu la plupart de ces paramètres dans le plug-in d'Hello World. L'outil readme définit également une classe de plug-in spécialisée : ReadmePlugin.
Le nom du fichier jar est également indiqué. Les noms indiqués dans Bundle-ClassPath correspondent au répertoire du plug-in. Ainsi, le fichier jar de l'outil readme doit se trouver directement dans le répertoire des plug-ins.
L'élément Require-Bundle informe la plateforme des dépendances de l'outil readme. Les plug-ins de l'interface utilisateur du plan de travail figurent dans la liste des plug-ins requis au même titre que les différents plug-ins core, jface et de texte.
La classe ReadmePlugin représente le plug-in de l'outil readme et gère le cycle de vie du plug-in. Comme nous l'avons vu dans l'exemple Hello World, il ne vous est pas nécessaire de spécifier une classe de plug-in. La plateforme en fournit une pour vous. Dans ce cas, notre plug-in doit initialiser les données associées à l'interface utilisateur lorsqu'il démarre. La classe de la plateforme AbstractUIPlugin fournit une structure pour la gestion des ressources de l'interface utilisateur et est étendue par ReadmePlugin.
AbstractUIPlugin utilise les méthodes génériques de démarrage et d'arrêt pour gérer les images, les paramètres des boîtes de dialogue et un magasin de préférences tout au long de la durée de vie du plug-in. Nous aborderons les spécificités de la classe ReadmePlugin lorsque nous travaillerons avec les boîtes de dialogue et les préférences.