# Launch Configuration Comparators

###### Identifier:

org.eclipse.debug.core.launchConfigurationComparators

###### Description:

This extension point provides a configurable mechanism for comparing specific attributes of a launch configuration. In general, launch configuration attributes can be compared for equality via the default implementation of `java.lang.Object.equals(Object)`. However, attributes that require special handling should implement this extension point. For example, when an attribute is stored as XML, it is possible that two strings representing an equivalent attribute have different whitespace formatting.

###### Configuration Markup:

<!ELEMENT extension (launchConfigurationComparator*)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT launchConfigurationComparator EMPTY>

<!ATTLIST launchConfigurationComparator

id CDATA #REQUIRED

attribute CDATA #REQUIRED

class CDATA #REQUIRED>

- id - specifies a unique identifier for this extension.
- attribute - specifies the launch configuration attribute name that this comparator compares.
- class - specifies a fully-qualified name of a class that implements `java.util.Comparator`.

###### Examples:

The following is an example of a launch configuration comparator extension point:

     <extension point="org.eclipse.debug.core.launchConfigurationComparators">
      <launchConfigurationComparator
       id="com.example.ExampleIdentifier"
       attribute="com.example.ExampleAttributeName"
       class="com.example.ComparatorImplementation">
      </launchConfigurationComparator>
     </extension>

In the example above, the specified type of launch configuration comparator will be consulted when comparing the equality of attributes keyed with name `com.example.ExampleAttributeName`.

###### API Information:

Value of the attribute class must be a fully-qualified name of a Java class that implements the interface java.util.Comparator.

Copyright (c) 2000, 2005 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html