これまで、README ツールによって提供されるさまざまな拡張を見てきました。 ここでは、README ツール・プラグインの一般的な定義について説明します。
README ツール・プラグインは、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>
...
プラグイン定義には、プラグインの name、id、version、および provider name が含まれます。 これらのパラメーターのほとんどは、以前の章の hello world プラグインで見たとおりです。 README ツールは、特殊プラグイン・クラス ReadmePlugin も定義します。
JAR ファイルの名前も提供されます。 plugin.xml ファイルで指定されたファイル名は、プラグイン・ディレクトリーに対して相対的なものです。このため、readme ツールの JAR ファイルは、プラグイン・ディレクトリーに直接配置する必要があります。
requires エレメントは、プラットフォームに readme ツールの依存関係を通知します。 ワークベンチ UI プラグインは、各種コア、JFace、およびテキスト・プラグインとともに必須プラグインとしてリストされます。
ReadmePlugin クラスは、README ツール・プラグインを表示し、 プラグインのライフ・サイクルを管理します。 Hello World の例で見たように、 プラグイン・クラスを指定しなくても構いません。 プラットフォームが、そのクラスを 1 つ用意します。 この場合、プラグインは、開始時に UI 関連データを初期化する必要があります。 プラットフォーム・クラス AbstractUIPlugin は、 UI リソースを管理する構造を提供し、ReadmePlugin によって拡張されます。
AbstractUIPlugin は、 プラグインの存続時間中に、イメージ、ダイアログ設定、および設定ストアを管理するために、 一般的な始動および終了のメソッドを使用します。 ダイアログおよび設定を扱うときに、 ReadmePlugin クラスの詳細について説明します。