Package org.eclipse.debug.core.model
Interface ILaunchConfigurationDelegate2
- All Superinterfaces:
ILaunchConfigurationDelegate
- All Known Implementing Classes:
LaunchConfigurationDelegate
Optional enhancements to the launch configuration delegate interface.
Allows launch delegates to abort a launch, build relevant projects in
the workspace before a launch, and create the launch object to be used
in a launch.
Clients implementing ILaunchConfigurationDelegate
may also
implement this interface.
- Since:
- 3.0
-
Method Summary
Modifier and TypeMethodDescriptionboolean
buildForLaunch
(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) Optionally performs any required building before launching the given configuration in the specified mode, and returns whether the debug platform should perform an incremental workspace build before the launch continues.boolean
finalLaunchCheck
(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) Returns whether a launch should proceed.getLaunch
(ILaunchConfiguration configuration, String mode) Returns a launch object to use when launching the given launch configuration in the given mode, ornull
if a new default launch object should be created by the debug platform.boolean
preLaunchCheck
(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) Returns whether a launch should proceed.Methods inherited from interface org.eclipse.debug.core.model.ILaunchConfigurationDelegate
launch, showCommandLine
-
Method Details
-
getLaunch
Returns a launch object to use when launching the given launch configuration in the given mode, ornull
if a new default launch object should be created by the debug platform. If a launch object is returned, its launch mode must match that of the mode specified in this method call.- Parameters:
configuration
- the configuration being launchedmode
- the mode the configuration is being launched in- Returns:
- a launch object or
null
- Throws:
CoreException
- if unable to launch
-
buildForLaunch
boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException Optionally performs any required building before launching the given configuration in the specified mode, and returns whether the debug platform should perform an incremental workspace build before the launch continues. Iffalse
is returned the launch will proceed without further building, and iftrue
is returned an incremental build will be performed on the workspace before launching.This method is only called if the launch is invoked with flag indicating building should take place before the launch. This is done via the method
ILaunchConfiguration.launch(String mode, IProgressMonitor monitor, boolean build)
.- Parameters:
configuration
- the configuration being launchedmode
- the mode the configuration is being launched inmonitor
- progress monitor, ornull
. 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.- Returns:
- whether the debug platform should perform an incremental workspace build before the launch
- Throws:
CoreException
- if an exception occurs while building
-
finalLaunchCheck
boolean finalLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException Returns whether a launch should proceed. This method is called afterpreLaunchCheck()
andbuildForLaunch()
providing a final chance for this launch delegate to abort a launch if required. For example, a delegate could cancel a launch if it discovered compilation errors that would prevent the launch from succeeding.- Parameters:
configuration
- the configuration being launchedmode
- launch modemonitor
- progress monitor, ornull
. 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.- Returns:
- whether the launch should proceed
- Throws:
CoreException
- if an exception occurs during final checks
-
preLaunchCheck
boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException Returns whether a launch should proceed. This method is called first in the launch sequence providing an opportunity for this launch delegate to abort the launch.- Parameters:
configuration
- configuration being launchedmode
- launch modemonitor
- progress monitor, ornull
. 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.- Returns:
- whether the launch should proceed
- Throws:
CoreException
- if an exception occurs while performing pre-launch checks
-