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.
<?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.0"?> <plugin id="org.eclipse.ui.examples.readmetool" name="%Plugin.name" version="2.1.0" provider-name="%Plugin.providerName" class="org.eclipse.ui.examples.readmetool.ReadmePlugin"> <runtime> <library name="readmetool.jar"/> </runtime> <requires> <import plugin="org.eclipse.ui"/> <import plugin="org.eclipse.core.resources"/> <import plugin="org.eclipse.core.runtime.compatibility"/> <import plugin="org.eclipse.ui.views"/> <import plugin="org.eclipse.ui.ide"/> <import plugin="org.eclipse.jface.text"/> <import plugin="org.eclipse.text"/> <import plugin="org.eclipse.ui.workbench.texteditor"/> <import plugin="org.eclipse.ui.editors"/> </requires> ...
La définition du plug-in inclut le nom, l'id, la version et le nom de 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.
Le nom du fichier jar est également indiqué. Les noms de fichier spécifiés dans un fichier plugin.xml sont relatifs par rapport au répertoire des plug-ins. Ainsi, le fichier jar de l'outil readme doit se trouver directement dans le répertoire des plug-ins.
L'élément requires informe la plate-forme 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 plate-forme 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 plate-forme 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.