U hebt gezien hoe een plugin gebruik kan maken van benoemde kenmerken en waarden om belangrijke gegevens op te slaan in een startconfiguratie. Omdat de interpretatie van pluginkenmerken onbekend is, ondersteunt het platform een extensiepunt waarmee u een comparator voor een specifiek kenmerk kunt opgeven. Deze comparator wordt gebruikt om te bepalen of kenmerken met de opgegeven naam aan elkaar gelijk zijn. In veel gevallen kan de eenvoudige tekenreeksvergelijkingsmethode java.lang.Object.equals(Object) worden gebruikt om kenmerken te vergelijken. Deze methode wordt gebruikt als er geen comparator is opgegeven. Sommige kenmerkwaarden moeten echter op een speciale manier worden verwerkt. Zo moeten witruimtewaarden uit tekst worden verwijderd voordat wordt gecontroleerd of deze aan elkaar gelijk zijn.
Comparators worden aangeleverd met het extensiepunt org.eclipse.debug.core.launchConfigurationComparators.
De Java-tools bevatten startconfiguratiecomparators voor het vergelijken van programmabron- en -klassenpaden.
<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>
Comparators moeten de interface java.util.Comparator implementeren.