第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プラットフォーム

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

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

企画広告も役立つ情報バッチリ! Sponsored