« 拡張ポイントの自作(2) | トップページ | 拡張ポイント呼び出し時の例外対処 »

2004.01.29

なぜcreateExecutableExtensionを用いるべきか?

拡張ポイントの自作(2)において,class属性で指定されたクラスのインスタンスを生成するにはIConfigurationElement#createExecutableExtension()を使用すべきだ,と述べた。それはなぜか?理由はとりあえず以下の2つがあげられる。

(1) Eclipseプラットフォームにより,クラスを提供したプラグインが活性化される。

(2) 引数で指定された属性の値のクラスがIExecutaleExtensionインタフェースを実装していた場合,setInitializationDataメソッドが自動的に呼び出され,初期化用の情報が渡される。

独自にclass属性値を取得し,forName().newInstance()してしまうと,上記の動作は行われなくなってしまう。もちろん上記の動作が必要なければ自前でインスタンスを生成してしまってもよいのだが,特に(2)による拡張性,柔軟性を切り捨ててしまうことになる。よって,createExecutableExtensionメソッドを使用しておいて損はないだろうし,将来のEclipseプラットフォームのバージョンアップに影響されることもなくなるはずである。

|

« 拡張ポイントの自作(2) | トップページ | 拡張ポイント呼び出し時の例外対処 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/12631/148053

この記事へのトラックバック一覧です: なぜcreateExecutableExtensionを用いるべきか?:

« 拡張ポイントの自作(2) | トップページ | 拡張ポイント呼び出し時の例外対処 »