Extensiepunt Products

Het mechanisme van voorkeur voor het definiëren van een product op basis van het Eclipse-platform vindt plaats door middel van het aanleveren aan het extensiepunt org.eclipse.core.runtime.products. Een plugin declareert de naam en het ID van het product, en het ID van de toepassingsextensie die moet worden uitgevoerd als het product wordt opgeroepen. Dit is de techniek die door het Eclipse-platform zelf wordt gebruikt voor het definiëren van het Eclipse-product. De extensiedefinitie die wordt aangetroffen in 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>
Een productextensie wordt gedefinieerd, waarvan het toepassings-ID "org.eclipse.ui.ide.workbench" is. Dit is het toepassings-ID dat door de plugin org.eclipse.ui.ide wordt gedefinieerd in de bijdrage aan het extensiepunt 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>

Deze extensie wordt met hetzelfde ID gedefinieerd als het ID waarnaar wordt verwezen in de eigenschap application van de productextensie. (als naar het toepassings-ID wordt verwezen vanaf een andere plugin, wordt de volledig gekwalificeerde naam gebruikt met het pluginvoorvoegsel). Wanneer dit mechanisme wordt gebruikt, kan een aparte plugin alle productspecifieke gegevens definiëren en vervolgens naar een bestaande toepassing van de plugin verwijzen als de toepassing die op het moment dat het product wordt gestart, wordt uitgevoerd.

Behalve de toepassing, beschrijft de extensie org.eclipse.core.runtime.products de eigenschappen voor het aanpassen van het product die worden gebruikt voor het configureren van de productgegevens. Deze informatie wordt beschreven als naameigenschappen. U kunt het gedeelte van de markup voor de platformplugin nog eens bekijken.

	<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"/> 
De mogelijke eigenschappennamen die voor productaanpassingen door het platform worden erkend, worden gedefinieerd in IProductConstants. Zie de javadoc voor een volledige beschrijving van deze eigenschappen en de waarden hiervan. In Een product aanpassen wordt hier dieper op ingegaan.