第3回 HSQLDBをEclipseから扱うプラグイン
プラグインで設定を行う各種項目 |
長尾君はプラグインで設定を行う各種項目について説明を始めた。
長尾君 | 「このHSQLDBプラグインでは、Databaseの名称、パスおよびポート番号の3つの項目を設定するんだ。それらの項目をEclipse上にて入力を行えるようにするとともにその内容を保存できるようにしよう」 |
|
田中君 | 「3つの項目を設定できるようにするんだね。まず、Eclipseで項目設定ってどのように行うのかな?」 |
長尾君 | 「田中君も知っていると思うけど、Eclipseでは[ウィンドウ]→[設定]メニューから[設定ダイアログ]が表示されるよね。ここに[HSQLDB]を追加するんだ」 |
Eclipse設定ダイアログに [HSQLDB]欄を追加 |
長尾君 | 「まずはEclipseの[設定ダイアログ]に対して[HSQLDB]欄を表示できるようにしよう.。マニフェストファイル[MANIFEST.MF]の拡張タブから、[追加]ボタンをクリックして[新規拡張]ダイアログを表示させよう」 |
[新規拡張]ダイアログ |
長尾君 | 「[org.eclipse.ui.preferencePages]拡張ポイントを選択したら[終了]ボタンをクリックして、[拡張]タブに拡張ポイントが追加されているか確認しよう」 |
拡張ポイントが追加されました |
長尾君 | 「さらに、追加した拡張ポイント[org.eclipse.ui.preferencePages]を右クリックして表示されるポップアップメニューから、[新規]→[page]と選択してpreferencePageを追加しよう」 |
コラム preferencePageについて |
preferencePageとはEclipse設定画面を定義している拡張ポイントです。この拡張ポイントから設定画面を作成して、保存したい内容の定義を行います。設定した値については、プリファレンスストア(詳しくは後述)と呼ばれる領域に保存されることによって、Eclipseにて値を保持することができます。 今回定義した拡張ポイント[org.eclipse.ui.preferencePages]の詳細は、Eclipseのオンラインヘルプの[Platformプラグイン・デベロッパー・ガイド]→[解説]→[拡張ポイント参照]をご覧ください。 |
長尾君 | 「追加したpreferencePageのプロパティは以下のように設定を行おう」 |
|
長尾君 | 「これらプロパティを設定したら、プロパティ設定画面の[class]のリンクをクリックして、Javaクラス設定画面を表示させよう」 |
Javaクラス設定画面 |
長尾君 | 「この画面でクラスを新規作成できることは覚えているよね」 |
田中君 | 「もちろんだよ。この場合は、必要となる親クラスやインターフェイスが自動設定されるんだよね」 |
長尾君 | 「そのとおりだよ。ここではパッケージ名は[hsqldb.preferences](1)、親クラスに[org.eclipse.jface.preference.PreferencePage](3)を持ち、[org.eclipse.ui.IWorkbenchPreferencePage](4)インターフェイスを実装するクラス、[HSQLPreferencePage](2)を作成しよう」 |
HSQLPreferencePageクラス |
package hsqldb.preferences; |
長尾君 | 「HSQLPreferencePageクラスにはいろいろなメソッドが定義されているけど、その中のコンストラクタに対して以下のソースを入力しよう」 |
HSQLPreferencePageクラス |
public HSQLPreferencePage() { |
長尾君 | 「setDescriptionメソッドは、引数の文字列を設定することによって、この設定画面に対する説明文を表示することができるメソッドなんだ」 |
田中君 | 「setPreferenceStoreメソッドではどんなことを行っているの?」 |
長尾君 | 「プラグインでは、設定した内容はプリファレンスストア(PreferenceStore)と呼ばれる領域に保存されるんだ。そのプリファレンスストアの内容の取得とHSQLPreferencePageへの設定を行っているのさ」 |
長尾君 | 「先ほど作成した[HSQLDBPlugin]クラスのスタティックメソッドの[getDefault]を実行することによって、プラグインのインスタンスを取得できるんだ。さらに取得したプラグインの[getPreferenceStore]メソッドを実行することによってプリファレンスストアを取得することができるんだ。これによって、Eclipseの設定画面で設定した内容を取得できるようになるんだ」 |
田中君 | 「HSQLPreferencePageがインスタンス化される際に、プラグインが持っているプリファレンスストアの内容を設定していると考えればいいんだね?」 |
長尾君 | 「そのとおり!」 |
コラム:プリファレンスストアの保存場所について |
プリファレンスストアの内容は [workspace\.metadata\plugins\org.eclipse.core.runtime\.settings]フォルダにプラグインID.prefs というファイル名で保存されます。このファイルはEclipseにて管理を行うので、通常は意識することはありません。 |
長尾君 | 「ここまで実装したら、設定画面の動作確認を行おう。[設定ダイアログ]を表示させて、[HSQLDB]欄が追加されるとともに、説明文『HSQLDBに関する設定です。』が表示されているか確認しよう」 |
田中君 | 「ちゃんと表示されたよ」 |
長尾君 | 「[デフォルトの復元]と[適用]ボタンは自動的に作成されるから、いまのところ意識する必要はないよ」 |
田中君 | 「この画面に、入力画面(UI)を作成するんだね」 |
長尾君 | 「そうだよ、このUIを作るにはSWTというツールキットを活用するのだけど、田中君はSWTって知っている??」 |
田中君 | 「……すみません。まったく知りません」 |
長尾君 | 「そっか、じゃあ、明日までに勉強しておいて!」 |
田中君 | 「そんなぁ(泣)」 |
次回はSWTと呼ばれるツールキットを活用して、HSQLDB設定画面のUIを作成します。お楽しみに!
3/3 |
Index | |
第3回 HSQLDBをEclipseから扱うプラグイン | |
Page1 HSQLDBプラグインの機能 |
|
Page2 プラグイン・プロジェクトからプラグイン作成を開始 |
|
Page3 プラグインで設定を行う各種項目 |
Java Solution全記事一覧 |
Java Agile フォーラム 新着記事
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|