<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>
Az initializer attribútum azt
jelzi, hogy a felület hol kerül felhasználásra. Például az
"org.eclipse.ui.part.SiteInitializer" karaktersorozat azt jelenti, hogy a
felület egy rész helyén kerül felhasználásra. Használhattuk volna az
"org.eclipse.ui.part.PartInitializer" értéket is, ha a felület magukat a
részeket valósítja meg.
Az interface attribútum a felület
neve. Ennek pontosan meg kell egyeznie azzal a típussal, amit a komponens
fogadni fog a konstruktorában. Ha olyan kiterjesztést hozunk létre, amely
karaktersorozatokat és egy objektumot kérő komponenst ad, akkor nem fogja
használni a kiterjesztést annak ellenére, hogy az kompatibilis típus.
Az implementation attribútum a felület
alapértelmezett megvalósítását azonosítja. Ez a felületet megvalósító
komponensosztályra vagy egy olyan ComponentFactory elemre mutat, amely
létrehozhatja azt. További információk a ComponentFactory fejezetben
találhatók. Ez a megvalósítás egy függőség kielégítésére használható minden
esetben, amikor egy komponens ezt a felületet kéri és az nem található a
szülőkörnyezetben. Minden felületnek rendelkeznie kell egy alapértelmezett
megvalósítással. Ez azt jelenti, hogy egy helyesen megírt komponens minden
esetben működik egy adott hatókörben, függetlenül a szülőkörnyezetében lévő
függőségek számától. A megvalósítás nem definiálhatja újra és nem terjesztheti
ki az interface attribútumot további felületek megvalósításával. Más
komponensek függhetnek ettől a komponenstől a bejegyzett felületén keresztül,
de nem függhetnek közvetlenül a megvalósítási osztálytól.
A singleton attribútum azt jelzi, hogy
egyetlen alapértelmezett megvalósítás létezik-e. Ha az érték true, akkor
egyetlen példány kerül létrehozásra és megosztásra minden más komponens között,
amelynek szüksége van rá. Ha az érték false, akkor minden egyes tároló számára,
amelynek szüksége van erre, új példány kerül létrehozásra. Például részek
esetén a singleton=:"false" azt jelenti, hogy minden rész számára egy példány
létrehozásra kerül.