Plug-in-Klasse

Bislang wurden die unterschiedlichen Erweiterungen beschrieben, die durch das Tool für Readme-Dateien bereitgestellt werden. An dieser Stellen soll nun die allgemeine Definition des Plug-ins für das Tool für Readme-Dateien untersucht werden.

Plug-in-Definition

Das Plug-in des Tools für Readme-Dateien ist am Anfang der Datei plugin.xml definiert.

<?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>
   ...

Die Plug-in-Definition enthält die Parameter name, id, version und provider name für das Plug-in. Diese Parameter kennen Sie bereits aus dem Plug-in "Hello World". Das Tool für Readme-Dateien definiert außerdem eine spezielle Plug-in-Klasse namens ReadmePlugin.

Der Name der JAR-Datei ist auch angegeben. Dateinamen, die in einer Datei plugin.xml angegeben sind, beziehen sich auf das Verzeichnis des Plug-ins. Daher sollte sich die JAR-Datei des Tools für Readme-Dateien direkt im Verzeichnis des Plug-ins befinden.

Das Element requires informiert die Plattform über Abhängigkeiten des Tools für Readme-Dateien. Die Plug-ins der Workbench-Benutzerschnittstelle werden als erforderliche Plug-ins aufgelistet, zusammen mit den diversen Kern-, JFace- und Text-Plug-ins.

AbstractUIPlugin

Die Klasse ReadmePlugin stellt das Plug-in für das Tool für Readme-Dateien dar und verwaltet den Lebenszyklus des Plug-ins.  Wie im Beispiel von "Hello World" bereits dargestellt, muss keine Plug-in-Klasse angegeben werden.  Diese wird von der Plattform bereitgestellt.  In diesem Fall muss das Plug-in beim Start Daten initialisieren, die sich auf die Benutzerschnittstelle beziehen.  Die Plattformklasse AbstractUIPlugin liefert eine Struktur, über die Benutzerschnittstellenressourcen verwaltet werden können, und die durch ReadmePlugin erweitert wird.

AbstractUIPlugin verwendet die generischen Start- und Beendigungsmethoden, um die Images, die Dialogeinstellungen und einen Benutzervorgabenspeicher während der Lebensdauer des Plug-ins zu verwalten. Im Folgenden sollen die spezifischen Aspekte der Klasse ReadmePlugin beim Arbeiten mit Dialogen und Benutzervorgaben verdeutlicht werden.