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 la partie supérieure du fichier plugin.xml.
<plugin name = "%Plugin.name" id = "org.eclipse.ui.examples.readmetool" version = "2.0.0" provider-name = "%Plugin.providerName" class="org.eclipse.ui.examples.readmetool.ReadmePlugin"> <requires> <import plugin="org.eclipse.ui"/> <import plugin="org.eclipse.core.resources"/> </requires> <runtime> <library name="readmetool.jar"/> </runtime> ...
La définition du plug-in inclut le nom, l'id, la version et le nom du fournisseur 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.
Les plug-in de ressources et d'interface graphique du plan de travail sont marqués comme requis, ce qui informe la plateforme des dépendances de l'outil readme.
Finalement, le nom du fichier jar est fourni. Les noms de fichier spécifiés dans un fichier plugin.xml sont relatifs au répertoire du plug-in.
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.