<extension
point="org.eclipse.core.component.types">
<component
initializer="org.eclipse.ui.part.SiteInitializer"
interface="org.eclipse.ui.part.services.INameable"
implementation="org.eclipse.ui.internal.part.services.NullNameableService"
singleton="true"
/>
</extension>
initializer 屬性指出要在何處會使用介面。例如,org.eclipse.ui.part.SiteInitializer 字串代表要在組件的網站上使用介面。
如果組件本身想要實行介面,也會使用 org.eclipse.ui.part.PartInitializer。
interface 屬性是介面的名稱。這個名稱必須完全符合元件會在其建構子中接收的類型。如果建立了一個提供「字串」的延伸,而元件卻要求一個「物件」時,即使所建立的延伸屬於相容的類型,元件也不會使用它。
implementation 屬性識別介面的預設實作。它會指向實作介面的元件類別,或者指向可以建立它們的 ComponentFactory。
如需相關資訊,請參閱 ComponentFactory 一節。每當元件要求它的母項環境定義中所沒有的介面時,便會使用實作方式來滿足其相依關係。
所有介面都必須提供一個預設實作。這表示,撰寫正確的元件一定可以在給定的範圍中運作,不管它的母項環境定義提供了多少相依關係。
實作方式無法用實作其他介面的方式,來置換或延伸介面屬性。
其他元件可以透過這個元件已登錄的介面來依賴這個元件,但無法直接依賴實作類別。
singleton 屬性指出預設實作是否為單態。如果是 true,則會建立一個實例,並和每一個需要該實例的其他元件共用。
如果是 false,則會為每一個需要實例的儲存器各新建一個實例。例如,以組件為例,singleton=:"false" 表示會針對每一個組件建立一個實例。