Inicjatory

Głównym zadaniem inicjatora jest zidentyfikowanie zasięgu. Jednak jest on czymś więcej niż po prostu unikalnym identyfikatorem. Inicjator wskazuje na klasę Java dostarczającą informacje do zasięgu. Aby utworzyć obiekt z punktu rozszerzenia org.eclipse.core.component.types, środowisko Eclipse musi samo skonstruować inicjator odpowiedniego typu. Dzięki temu środowisko Eclipse może przekazać wymagany kontekst komponentom spoza środowiska. Zasięg każdego komponentu może zależeć od inicjatora, dzięki czemu możliwe jest uzyskanie dostępu do kontekstu. Większość inicjatorów udostępnianych obecnie przez środowisko robocze ma pusty interfejs publiczny, więc duża część klientów nie będzie chciała tego jeszcze robić.

Dziedziczenie między typami inicjatorów jest brane pod uwagę. Zarejestrowanie typu komponentu w klasie bazowej inicjatora będzie miało wpływ na inicjatora oraz wszystkie podklasy. Inicjatory nie mogą być interfejsami, więc możliwe jest tylko pojedyncze dziedziczenie. Na przykład interfejs zarejestrowany w inicjatorze org.eclipse.core.component.ExtensionInitializer będzie widoczny zarówno dla części, jak i serwisu, ponieważ jest on klasą bazową dla ich inicjatorów.

Środowisko robocze udostępnia następujące typy inicjatorów:

Inicjator
Klasa bazowa
Zastosowanie
org.eclipse.core.component.ExtensionInitializer
Brak
Zależności używane przez komponenty utworzone za pomocą punktu rozszerzenia.
org.eclipse.ui.part.PartInitializer
org.eclipse.core.component.ExtensionInitializer Interfejsy, które mogą być implementowane przez części.
org.eclipse.ui.part.SiteInitializer org.eclipse.core.component.ExtensionInitializer Komponenty dostępne w serwisie (na przykład takie, które część może włączyć do konstruktora).
org.eclipse.ui.part.SiteMultiplexerInitializer
org.eclipse.ui.part.SiteInitializer Zależności mające zastosowanie względem serwisu jedynie w multiplekserze (służą do przesłaniania domyślnej implementacji komponentu udostępnionej przez serwis).