Classe di plugin

Finora sono state illustrate le diverse estensioni fornite dallo strumento readme. In questa sezione verrà illustrata la definizione generale del plugin dello strumento readme.

Definizione di plugin

Il plugin dello strumento readme è definito all'inizio del file 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>
   ...

Nella definizione di un plugin sono compresi name, id, version e provider name. La maggior parte di questi parametri sono già stati illustrati nel plugin di Hello World. Lo strumento readme definisce anche una classe specializzata di plugin, ReadmePlugin.

Infine, viene fornito il nome del file jar. I nomi di file specificati in un file plugin.xml corrispondono alla directory del plugin, per cui il file jar dello strumento readme deve essere inserito direttamente nella directory del plugin.

L'elemento requires informa la piattaforma delle dipendenze dello strumento readme. I plugin dell'UI del workbench sono elencati come plugin necessari, insieme ai vari plugin principali, al plugin jface e ai plugin di testo.

AbstractUIPlugin

La classe ReadmePlugin rappresenta il plugin dello strumento readme e gestisce il ciclo di vita del plugin.  Come è stato illustrato nell'esempio Hello World, non è necessario specificare la classe del plugin,  perché sarà fornita dalla piattaforma.  Nel caso qui illustrato, il plugin deve inizializzare al suo avvio i dati correlati all'interfaccia utente.  La classe della piattaforma AbstractUIPlugin fornisce una struttura per la gestione delle risorse dell'interfaccia utente ed è estesa da ReadmePlugin.

AbstractUIPlugin utilizza i metodi standard di avvio e chiusura per gestire immagini, impostazioni di finestre di dialogo e un archivio preferenze durante il ciclo di vita del plugin.  Le caratteristiche della classe ReadmePlugin saranno analizzate al momento dell'utilizzo di finestre di dialogo e preferenze.