Vimos como um plug-in pode utilizar atributos e valores nomeados para armazenar dados importantes com uma configuração de ativação. Como a interpretação de atributos de um plug-in não é conhecida pela plataforma, é fornecido um ponto de extensão que permite fornecer um comparador para um atributo específico. Este comparador é utilizado para determinar se os atributos do nome especificado são iguais. Em muitos casos, a comparação simples de cadeia fornecida pelo java.lang.Object.equals(Object) é apropriada para a comparação de atributos. Essa técnica será utilizada se nenhum comparador tiver sido fornecido. No entanto, alguns valores de atributos podem requerer uma manipulação especial, como o stripping de valores de espaço em branco do texto antes da comparação de igualdade.
Contribui-se com os comparadores utilizando o ponto de extensão org.eclipse.debug.core.launchConfigurationComparators.
As ferramentas Java fornecem comparadores de configuração de lançamento para a comparação de caminhos de origem e caminhos de classe do programa.
<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>
Os comparadores devem implementar a interface java.util.Comparator.