イニシャライザー

イニシャライザーの主な目的は、スコープを確認することです。 ただし、それは単なる固有 ID ではありません。 イニシャライザーは、スコープに初期化情報を提供する Java クラスを指示します。 org.eclipse.core.component.types 拡張ポイントからオブジェクトを作成するために、 Eclipse により適切なタイプのイニシャライザーが手動で構成される必要があります。 これにより、Eclipse は、コンポーネント・フレームワークの外部から必要なコンテキストをコンポーネントに渡すことができます。 すべてのコンポーネントは、そのスコープに関してイニシャライザーに依存することができ、このコンテキストにアクセスすることができます。 現在、ワークベンチにより提供されるほとんどのイニシャライザーには空のパブリック・インターフェースがあるため、ほとんどのクライアントではこれをまだ行う必要はありません。

継承、イニシャライザー・タイプの間で考慮されます。 イニシャライザーのベース・クラスへのコンポーネント・タイプの登録もまた、イニシャライザーおよびそのすべてのサブクラスに影響を及ぼします。 イニシャライザーはインターフェースにすることはできないため、単一継承のみが可能です。 例えば、org.eclipse.core.component.ExtensionInitializer に登録されたインターフェースは、パーツおよびそのサイトの両方から可視です。 これは、org.eclipse.core.component.ExtensionInitializer がパーツおよびサイト・イニシャライザーの両方のベース・クラスであるためです。

ワークベンチでは、以下のイニシャライザー・タイプが提供されます。

イニシャライザー
ベース・クラス
使用対象
org.eclipse.core.component.ExtensionInitializer
なし
拡張ポイントから作成されたすべてのコンポーネントにより使用される依存関係。
org.eclipse.ui.part.PartInitializer
org.eclipse.core.component.ExtensionInitializer パーツにより実装可能なインターフェース。
org.eclipse.ui.part.SiteInitializer org.eclipse.core.component.ExtensionInitializer サイトで使用可能なコンポーネント (パーツがそのコンストラクターで受け入れられるものなど)。
org.eclipse.ui.part.SiteMultiplexerInitializer
org.eclipse.ui.part.SiteInitializer マルチプレクサー内部のサイトにのみ適用される依存関係 (サイトにより提供されたデフォルトのコンポーネント実装をオーバーライドするために使用)。