Punkt rozszerzenia produktów

Preferowanym mechanizmem definiowania produktów opartych na platformie Eclipse jest dodawanie ich do punktu rozszerzenia org.eclipse.core.runtime.products. Aby z niego skorzystać, moduł dodatkowy deklaruje po prostu nazwę i identyfikator produktu oraz identyfikator rozszerzenia aplikacji, które powinno zostać uruchomione w momencie wywołania tego produktu. To jest technika, która jest także używana przez platformę Eclipse do definiowania produktu Eclipse. Oto definicja rozszerzenia znaleziona w punkcie rozszerzenia org.eclipse.platform:

<extension id="ide" point="org.eclipse.core.runtime.products"> 
	<product name="%productName" application="org.eclipse.ui.ide.workbench" description="%productBlurb"> 
		<property name="windowImages" value="eclipse.png,eclipse32.png"/>
		<property name="aboutImage" value="eclipse_lg.png"/>
		<property name="aboutText" value="%productBlurb"/> 
		<property name="appName" value="Eclipse"/> 
		<property name="preferenceCustomization" value="plugin_customization.ini"/> 
	</product> 
    </extension>
Zdefiniowane zostało rozszerzenie produktu, dla którego identyfikatorem atrybutu application (aplikacja) jest "org.eclipse.ui.ide.workbench". Oto identyfikator aplikacji zdefiniowany przez moduł dodatkowy org.eclipse.ui.ide w trakcie dodawania do punktu rozszerzenia org.eclipse.core.runtime.applications.
   <extension
	id="workbench"
	point="org.eclipse.core.runtime.applications">
	<application>
		<run
			class="org.eclipse.ui.internal.ide.IDEApplication">
		</run>
	</application>
    </extension>

To rozszerzenie zostało zdefiniowane z tym samym identyfikatorem, do którego odwołuje się właściwość application w rozszerzeniu produktu. (W momencie odwoływania się do identyfikatora aplikacji z innego modułu dodatkowego używana jest pełna nazwa z przedrostkiem modułu dodatkowego). Używając tego mechanizmu, oddzielny moduł dodatkowy może zdefiniować wszystkie oznaczenia marką danego produktu, a następnie odwołać się do istniejącej aplikacji modułu dodatkowego jako aplikacji, która ma być uruchamiana razem z produktem.

Oprócz aplikacji rozszerzenie org.eclipse.core.runtime.products opisuje właściwości dostosowywania produktu używane do konfigurowania informacji o oznaczaniu marką. Te informacje są opisywane jako właściwości o określonych nazwach. Popatrzmy raz jeszcze na fragment kodu modułu dodatkowego platformy.

	<property name="windowImages" value="eclipse.png,eclipse32.png"/>
	<property name="aboutImage" value="eclipse_lg.png"/>
	<property name="aboutText" value="%productBlurb"/> 
	<property name="appName" value="Eclipse"/> 
	<property name="preferenceCustomization" value="plugin_customization.ini"/> 
Możliwe nazwy właściwości akceptowane przez platformę przy dostosowywaniu produktu są zdefiniowane w interfejsie IProductConstants. Szczegółowy opis tych właściwości i ich wartości zawiera dokumentacja javadoc. Przyjrzymy się dokładniej tym kwestiom w sekcji Dostosowywanie produktu.