Package org.eclipse.debug.core.model

## Interface ILaunchConfigurationDelegate

All Known Subinterfaces:
  `ILaunchConfigurationDelegate2`

All Known Implementing Classes:
  `LaunchConfigurationDelegate`

    public interface ILaunchConfigurationDelegate

A launch configuration delegate performs launching for a specific type of launch configuration. A launch configuration delegate is defined by the `delegate` attribute of a `launchConfigurationType` extension.

This interface is intended to be implemented by clients.

Since:
  2.0
See Also:
  `ILaunchConfigurationType`, `ILaunchConfiguration`

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`void` `launch​(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor)` Launches the given configuration in the specified mode, contributing debug targets and/or processes to the given launch object.
`default String` `showCommandLine​(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor)` Gets the command line to launch the given configuration in the specified mode, contributing debug targets and/or processes to the given launch object.

### Method Detail

#### launch

    void launch​(ILaunchConfiguration configuration,
                String mode,
                ILaunch launch,
                IProgressMonitor monitor)
         throws CoreException

Launches the given configuration in the specified mode, contributing debug targets and/or processes to the given launch object. The launch object has already been registered with the launch manager.

Parameters:
  `configuration` - the configuration to launch
  `mode` - the mode in which to launch, one of the mode constants defined by `ILaunchManager` - `RUN_MODE` or `DEBUG_MODE`.
  `monitor` - progress monitor, or `null` progress monitor, or `null`. A cancelable progress monitor is provided by the Job framework. It should be noted that the setCanceled(boolean) method should never be called on the provided monitor or the monitor passed to any delegates from this method; due to a limitation in the progress monitor framework using the setCanceled method can cause entire workspace batch jobs to be canceled, as the canceled flag is propagated up the top-level parent monitor. The provided monitor is not guaranteed to have been started.
  `launch` - the launch object to contribute processes and debug targets to
Throws:
  `CoreException` - if launching fails

#### showCommandLine

    default String showCommandLine​(ILaunchConfiguration configuration,
                                   String mode,
                                   ILaunch launch,
                                   IProgressMonitor monitor)
                            throws CoreException

Gets the command line to launch the given configuration in the specified mode, contributing debug targets and/or processes to the given launch object. The launch object has already been registered with the launch manager.

Parameters:
  `configuration` - the configuration to launch
  `mode` - the mode in which to launch, one of the mode constants defined by `ILaunchManager` - `RUN_MODE` or `DEBUG_MODE`.
  `monitor` - progress monitor, or `null` progress monitor, or `null`. A cancelable progress monitor is provided by the Job framework. It should be noted that the setCanceled(boolean) method should never be called on the provided monitor or the monitor passed to any delegates from this method; due to a limitation in the progress monitor framework using the setCanceled method can cause entire workspace batch jobs to be canceled, as the canceled flag is propagated up the top-level parent monitor. The provided monitor is not guaranteed to have been started.
  `launch` - the launch object to contribute processes and debug targets to
Returns:
  the command line string
Throws:
  `CoreException` - if launching fails
Since:
  3.13