Sammenlign startkonfigurationer

Vi har set, hvordan en plugin kan bruge navngivne attributter til at gemme vigtige data sammen med en startkonfiguration. Da tolkningen af en plugins attributter ikke kendes af platformen, stilles der et udvidelsespunkt til rådighed, som gør det muligt for dig at angive en sammenligningsfunktion for en bestemt attribut. Sammenligningsfunktionen bruges til at afgøre, om attributterne til et bestemt navn er ens. I mange tilfælde kan den enkle strengsammenligningsfunktion stillet til rådighed via java.lang.Object.equals(Object) bruges til sammenligning af attributter. Denne teknik anvendes, hvis der ikke findes en sammenligningsfunktion. Imidlertid kan nogle attributværdier kræve særbehandling, f.eks. når værdier for tom plads skal fjernes fra teksten, før den sammenlignes.

Sammenligningsfunktioner leveres vha. udvidelsespunktet org.eclipse.debug.core.launchConfigurationComparators

Java-værktøjerne leverer sammenligningsfunktioner til startkonfigurationer til sammenligning af kildestier og klassestier.

<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>

Sammenligningsfunktioner skal implementere grænsefladen java.util.Comparator.