# Interface ILaunchConfigurationMigrationDelegate

public interface ILaunchConfigurationMigrationDelegate
Responsible for migrating launch configurations between different versions of Eclipse. A migration delegate is contributed as an optional attribute of a `launchConfigurationType` extension and is responsible for identifying migration candidates and migrating launch configurations of that type.

For example, since 3.2 launch configurations may have resources mapped to them. A migration delegate could assign appropriate resources to a launch configuration create in an earlier version.

Clients may implement this interface.

Since:
  3.2

## Method Summary

Modifier and Type
Method
Description
`boolean`
`isCandidate(ILaunchConfiguration candidate)`
Returns whether the given launch configuration requires migration.
`void`
`migrate(ILaunchConfiguration candidate)`
Migrates the given launch configuration to be compatible with the current tooling.

## Method Details

### isCandidate

boolean isCandidate(ILaunchConfiguration candidate) throws CoreException
Returns whether the given launch configuration requires migration.

Parameters:
  `candidate` - potential migration candidate
Returns:
  whether the given launch configuration requires migration
Throws:
  `CoreException` - if an exception occurs determining the status of the given configuration

### migrate

void migrate(ILaunchConfiguration candidate) throws CoreException
Migrates the given launch configuration to be compatible with the current tooling.

Parameters:
  `candidate` - the candidate to be migrated, which can be a launch configuration or working copy
Throws:
  `CoreException` - if an exception occurs during migration