Point d'extension des produits

Le mécanisme préféré pour définir un produit basé sur la plate-forme Eclipse est de fournir le point d'extension org.eclipse.core.runtime.products. A cet effet, un plug-in déclare tout simplement le nom et l'ID de son produit, ainsi que l'ID de l'extension de l'application qui doit être exécutée lorsque le produit est appelé. C'est la technique utilisée par la plate-forme Eclipse lors de la définition du produit Eclipse. Voici la définition de l'extension, qui se trouve dans 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>
Une extension de produit est définie. Son ID application est "org.eclipse.ui.ide.workbench". Il s'agit de l'ID application défini par le plug-in org.eclipse.ui.ide dans sa contribution au point d'extension 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>

Cette extension est définie avec le même ID que celui qui est référencé dans la propriété application de l'extension de produit (le nom complet qualifié, avec le préfixe du plug-in, est utilisé pour faire référence à l'ID application dans l'autre plug-in). Grâce à ce mécanisme, un plug-in distinct peut définir toutes les informations commerciales spécifiques au produit, puis faire référence à l'application d'un plug-in existant comme l'application réellement exécutée au lancement du produit.

Outre l'application, l'extension org.eclipse.core.runtime.products décrit les propriétés de personnalisation de produit utilisées pour configurer les informations commerciales du produit. Ces informations sont appelées propriétés nommées. Examinons de nouveau la partie du marquage du plug-in de la plate-forme.

	<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"/> 
Les noms de propriété possibles qui sont utilisés par la plate-forme pour la personnalisation des produits sont définis dans IProductConstants. Pour obtenir une description complète de ces propriétés et de leurs valeurs, reportez-vous à la documentation Java. Nous étudierons cet aspect plus en détail dans la section intitulée Personnalisation d'un produit.