第1回:Eclipseとプラグイン (3/4)

Eclipse実践プラグイン開発
Eclipse実践プラグイン開発

第1回:Eclipseとプラグイン
著者:ビーブレイクシステムズ  大森 洋行   2005/7/4
前のページ  1  2  3   4  次のページ
Eclipseのアーキテクチャ

   EclipseがJavaの統合開発環境(IDE)のデファクトスタンダードと呼ばれるようになった理由のひとつに、商用・非商用・オープンソースに関わらず、多くのすばらしいプラグインが開発され、利用できることが挙げられます。

   しかしEclipseは、JavaのIDEとして開発されているのではなく、様々な用途のツールを構築するためのプラットフォームとして開発されています。そのため、Eclipseの基本的な環境(Eclipseプラットフォーム)は、エンド・ユーザが使用するような機能をそれほど多く持っていません。

   Eclipseプラットフォームは、ランタイムとランタイム上に構築されたいくつかのコンポーネントによって構成されています(図10)。それぞれのコンポーネントは1つ以上のプラグインによって実装され、ランタイムとリソースを併せたコンポーネントをCoreと呼び、ワークベンチとJFaceを併せたコンポーネントをUIと呼んでいます。
Eclipseプラットフォーム
図10:Eclipseプラットフォーム

コンポーネント名 説明
ランタイム プラグインの動的な追加や削除、ライフサイクルの管理を行います
リソース リソース(プロジェクト、フォルダ、およびファイル)の管理を行います
ワークベンチ プラグインがメニューやアクションなどを追加したり、独自のビューやエディターなどを作成したりするための場所を定義します
SWT SWT(Standard Widget Toolkit)は、OSが提供するGUIを共通のAPIで利用するためのツールキットです
JFace SWTを利用して、プラグインに共通のUIを提供するためのツールキットです

表1:Eclipseプラットフォームの主なコンポーネント

   それでは、JavaのIDEとして使用している機能はどこにあるのでしょうか。Eclipse SDKは、Eclipseプラットフォームと、Java開発環境であるJava Development Tools(JDT)、プラグイン開発環境であるPlug-in Development Environment(PDE)から構成されており、JDTとPDEもプラグインとして実装されています(図11)。私たちはこのJDTの機能を使い、プログラミングしています。

Eclipse SDKのアーキテクチャ
図11:Eclipse SDKのアーキテクチャ


プラグイン

   プラグインは、プラットフォームに機能を追加するためのしくみであり、他のプラグインにも機能を追加することができます。機能を追加することを拡張といい、他のプラグインが拡張できる場所のことを拡張ポイントといいます。

   そして、開発したプラグインをプラグインとして動作させるためには、下記の条件を満たしている必要があります。

  • プラグイン・ランタイム・クラスと呼ばれるJavaクラスがある
  • プラグインに関する情報を記述したマニフェスト・ファイルと呼ばれるplugin.xmlがある
プラグイン・ランタイム・クラス

   プラグイン・ランタイム・クラスは、プラグインの起動や終了などのライフサイクルの機能を実装するJavaクラスのことで、org.eclipse.core.runtime.Plugin抽象クラスを継承しています。プラグイン・ランタイム・クラスのインスタンスの生成や管理は、Eclipseプラットフォームのランタイムによって行われるので、インスタンスを生成するコードを書くことはありません。

   実際には、Plugin抽象クラスを継承してプラグイン・ランタイム・クラスを実装するケースは多くなく、Eclipseプラットフォームが用意しているプラグイン・ランタイム・クラスを使用します。図12にPlugin抽象クラスとプラグイン・ランタイム・クラスの関係を示します。

Plugin抽象クラスとプラグイン・ランタイム・クラス
図12:Plugin抽象クラスとプラグイン・ランタイム・クラス
(画像をクリックすると別ウィンドウに拡大図を表示します)

   EclipseプラットフォームのUIコンポーネントを用いるプラグインを開発するためには、AbstractUIPlugin抽象クラスを使用します。AbstractUIPlugin抽象クラスは様々な用途があるので、汎用性を持たせられるように抽象クラスになっており、プラグイン・ランタイム・クラスとして使用するためには、さらに継承する必要があります。

※注2: 「Hello プラグイン」では、ウィザードによりAbstractUIPluginクラスを継承したHelloPluginクラスが作成されています。
前のページ  1  2  3   4  次のページ


ビーブレイクシステムズ社 大森 洋行
著者プロフィール
ビーブレイクシステムズ社  大森 洋行
中堅システム開発会社にて、データベース検索ソフトの開発・導入コンサルティング・セミナー講師に従事。その現場の中で、Java及びオープンソースを用いたシステム開発は今後のシステム開発の主流になると考え、それらを独学で学ぶ。本格的にそれらを用いた開発に携わるため、ビーブレイクシステムズに入社。現在、データ項目やその流れの分析に重点をおきながら、Javaやオープンソースを用いたシステム開発に携わる。


INDEX
第1回:Eclipseとプラグイン
  はじめに
  プラグイン・プロジェクト
Eclipseのアーキテクチャ
  マニフェスト・ファイルplugin.xml
Eclipse実践プラグイン開発
第1回 Eclipseとプラグイン
第2回 プラグインの配布とインストール
第3回 基本的なGUIコンポーネントの利用
第4回 JFaceのGUIコンポーネント
第5回 メニューとポップアップ・メニューの拡張
第6回 ビューの拡張
第7回 エディタの拡張
第8回 パースペクティブの拡張
第9回 プロパティと設定の拡張
Eclipseが提供するBIとレポーティングツール
第1回 インストールからはじめるEclipse BIRT
第2回 データベースのデータをレポートに出力しよう
第3回 レポートを作成しよう
第4回 スクリプティング機能・Tomcatでのプレビュー・レポートエンジンを使用したレポート出力
Eclipse3ではじめるJava Webアプリケーション開発
第1回 Eclipse3の概要とインストール
第2回 Eclipse3の基本機能
第3回 Eclipse3の基本操作を憶えよう
第4回 Eclipseの便利な機能
第5回 Webアプリケーションの開発(1)〜JSP作成〜
第6回 Webアプリケーションの開発(2)〜サーブレットの作成〜
第7回 データベースの利用
第8回 フレームワークの利用
第9回 O/Rマッパーの利用
第10回 JUnitの利用
第11回 Antの利用
第12回 CVSの利用(1)
第13回 CVSの利用(2)
Eclipse WTPによる標準開発ツールの提供
第1回 Eclipse WTPの概要とインストール
第2回 Eclipse WTPでHello World
第3回 Eclipse WTPのDB系ツールを使う
第4回 Eclipse WTPのエディタとその他のツール

人気記事トップ10

人気記事ランキングをもっと見る