« キーワードRuleの作成方法 | トップページ | IAdaptableとは?(後編) »

2004.01.09

IAdaptableとは?(前編)

最大の謎としていつかは戦わないといけないと覚悟していたIAdaptableインタフェース。これの用途が何なのかさっぱりわからず途方にくれようとしていたそのとき!「ほ~こういうことか~」って感じでなんとなくIAdaptableインタフェースの用途が見えてきました。

最初考えたIAdaptableインタフェースの存在意義は,「java.io.Serializableインタフェースみたいなもの」だった。なぜなら,Platform Plug-in Delevoper GuideのelementFactoriesの説明の中で「ワークベンチがシャットダウンされる際に表示されていたIAdaptableオブジェクトのそのときの状態を保存するに違いない」と記載されていたからだ。Eclipseは起動時に前の状態が復元される。もちろんプリファレンスやプロパティ値はどこかに保持されているはずで,保持される対象となるものに対してIAdaptableインタフェースを実装しておく,という風に考えた。これはこれで間違ってはいないかもしれないし,間違っているかもしれない。。。

で次は,「COMのIUnknownみたいなもの」って考えた。つまり,Eclipseプラットフォームが管理対象とするオブジェクトでプラグインが提供するような未知のクラスに対しては,IAdaptableインタフェースを実装しておこうってこと。Eclipseプラットフォームは,IAdaptable[] adapters みたいな持ち方をしているのかな~って。ただ,この考えは全く根拠がない勝手な想像。もちろん,当たってるかどうかも現時点では断言できない。

でも,上記2つが正しいとしても,インタフェースの名前と全くそぐわない(Adaptableじゃない)ので,きっと間違ってるんだろうな~って思ってました。使われ方的に上記が当たってる場面もあるかもしれないけど,真のIAdaptableインタフェースの存在意義はそんな安っちょろいもんじゃなかったんだ!

・・・後半に続く。。。

|

« キーワードRuleの作成方法 | トップページ | IAdaptableとは?(後編) »

コメント

コメントを書く



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




トラックバック

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

この記事へのトラックバック一覧です: IAdaptableとは?(前編):

« キーワードRuleの作成方法 | トップページ | IAdaptableとは?(後編) »