Comparaison de configurations de lancement

Nous avons vu comment un plug-in peut utiliser des attributs nommés et des valeurs pour stocker des données importantes avec une configuration de lancement. Dans la mesure où l'interprétation des attributs d'un plug-in n'est pas connue par la plateforme, un point d'extension est fourni et vous permet d'attribuer un comparateur à un attribut spécifique. Ce comparateur est utilisé pour déterminer si les attributs du nom spécifié sont égaux. Dans la plupart des cas, la comparaison de chaîne simple fournie par java.lang.Object.equals(Object) convient pour comparer les attributs. Cette technique peut être utilisée si aucun comparateur n'est fourni. Cependant, certaines valeurs d'attribut peuvent nécessiter une manipulation particulière, comme l'élimination des espaces vides contenus dans un texte avant de procéder à une comparaison d'égalité.

Les comparateurs sont fournis à l'aide du point d'extension org.eclipse.debug.core.launchConfigurationComparators

Les outils Java offrent des comparateurs de configurations de lancement pour comparer des chemins source et d'accès aux classes de programmes.

<extension point = "org.eclipse.debug.core.launchConfigurationComparators">
	<launchConfigurationComparator
		id = "org.eclipse.jdt.launching.classpathComparator"
		class = "org.eclipse.jdt.internal.launching.RuntimeClasspathEntryListComparator"
		attribute = "org.eclipse.jdt.launching.CLASSPATH"/>
	<launchConfigurationComparator
		id = "org.eclipse.jdt.launching.sourcepathComparator"
		class = "org.eclipse.jdt.internal.launching.RuntimeClasspathEntryListComparator"
		attribute = "org.eclipse.jdt.launching.SOURCE_PATH"/>		
</extension>

Les comparateurs doivent implémenter l'interface java.util.Comparator.