Package org.eclipse.launchbar.core
Interface ILaunchConfigurationProvider
- All Known Implementing Classes:
AbstractLaunchConfigProvider
,DefaultLaunchConfigProvider
,PerTargetLaunchConfigProvider
,ProjectLaunchConfigProvider
,ProjectPerTargetLaunchConfigProvider
public interface ILaunchConfigurationProvider
The provider of launch configurations of a given type for a given descriptor
type and a given target type.
It is recommended to extend
AbstractLaunchConfigProvider
or one of
it's subclasses instead of implementing this directly.-
Method Summary
Modifier and TypeMethodDescriptionorg.eclipse.debug.core.ILaunchConfiguration
getLaunchConfiguration
(ILaunchDescriptor descriptor, ILaunchTarget target) Create a launch configuration for the descriptor to launch on the target.org.eclipse.debug.core.ILaunchConfigurationType
getLaunchConfigurationType
(ILaunchDescriptor descriptor, ILaunchTarget target) Return the launch configuation type for the descriptor and target.boolean
launchConfigurationAdded
(org.eclipse.debug.core.ILaunchConfiguration configuration) A launch configuration has been added.boolean
launchConfigurationChanged
(org.eclipse.debug.core.ILaunchConfiguration configuration) A launch configuration has been changed.boolean
launchConfigurationRemoved
(org.eclipse.debug.core.ILaunchConfiguration configuration) A launch configuration has been removed.boolean
launchDescriptorMatches
(ILaunchDescriptor descriptor, org.eclipse.debug.core.ILaunchConfiguration configuration, ILaunchTarget target) Return true if given descriptor is associated with given launch configuration.void
launchDescriptorRemoved
(ILaunchDescriptor descriptor) A launch descriptor has been removed.void
launchTargetRemoved
(ILaunchTarget target) A launch target has been removed.boolean
supports
(ILaunchDescriptor descriptor, ILaunchTarget target) Does this config provider provide launch configurations for the combination of descriptor and target.
-
Method Details
-
supports
boolean supports(ILaunchDescriptor descriptor, ILaunchTarget target) throws org.eclipse.core.runtime.CoreException Does this config provider provide launch configurations for the combination of descriptor and target. Note: this is called when filtering targets for a descriptor. Processing should be minimal.- Parameters:
descriptor
-target
-- Returns:
- true if target is supported, false otherwise.
- Throws:
org.eclipse.core.runtime.CoreException
-
getLaunchConfigurationType
org.eclipse.debug.core.ILaunchConfigurationType getLaunchConfigurationType(ILaunchDescriptor descriptor, ILaunchTarget target) throws org.eclipse.core.runtime.CoreException Return the launch configuation type for the descriptor and target.- Parameters:
descriptor
-target
- launch configuration type or null if not supported- Returns:
- Throws:
org.eclipse.core.runtime.CoreException
-
getLaunchConfiguration
org.eclipse.debug.core.ILaunchConfiguration getLaunchConfiguration(ILaunchDescriptor descriptor, ILaunchTarget target) throws org.eclipse.core.runtime.CoreException Create a launch configuration for the descriptor to launch on the target.- Parameters:
descriptor
- the descriptor to create the config fortarget
- the target to launch the config on- Returns:
- launch configuration
- Throws:
org.eclipse.core.runtime.CoreException
-
launchDescriptorMatches
boolean launchDescriptorMatches(ILaunchDescriptor descriptor, org.eclipse.debug.core.ILaunchConfiguration configuration, ILaunchTarget target) throws org.eclipse.core.runtime.CoreException Return true if given descriptor is associated with given launch configuration. I.e. if getLaunchConfiguration(descriptor, target) returns a launch configuration, calling launchDescriptorMatches(descriptor, configuration, target) should return true. This method is used to activate descriptor when launch happens, return false all the time would mean launch would track launches of this specific descriptor (if they occur outside of launchbar).- Parameters:
configuration
- launch configuration in questiontarget
- - target to match, it can be null if launch bar cannot determine target, in this case it should act as wildcard- Returns:
- launch configuration
- Throws:
org.eclipse.core.runtime.CoreException
-
launchConfigurationAdded
boolean launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration configuration) throws org.eclipse.core.runtime.CoreException A launch configuration has been added. Provider can inspect it and associate with internal map. Provider should make sure it owns this launch configuration or it can modify it to take over.- Returns:
- true of provider owns this launch configuration
- Throws:
org.eclipse.core.runtime.CoreException
-
launchConfigurationRemoved
boolean launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration configuration) throws org.eclipse.core.runtime.CoreException A launch configuration has been removed. This notification can be used to purge internal cache for example. This method is called after launch configuration has been removed from file system, so accessing its attributes won't work. If provider cannot determine if it owns it it should return false.- Parameters:
configuration
-- Returns:
- true if provider owns this launch configuration
- Throws:
org.eclipse.core.runtime.CoreException
-
launchConfigurationChanged
boolean launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration configuration) throws org.eclipse.core.runtime.CoreException A launch configuration has been changed. Provider can inspect it to re-evaluate its internal map. Provider should make sure it owns this launch configuration or it can modify it to take over.- Returns:
- true of provider owns this launch configuration
- Throws:
org.eclipse.core.runtime.CoreException
-
launchDescriptorRemoved
void launchDescriptorRemoved(ILaunchDescriptor descriptor) throws org.eclipse.core.runtime.CoreException A launch descriptor has been removed. Remove any launch configurations that were created for it.- Parameters:
descriptor
-- Throws:
org.eclipse.core.runtime.CoreException
-
launchTargetRemoved
A launch target has been removed. Remove any launch configurations that were created for it.- Parameters:
target
-- Throws:
org.eclipse.core.runtime.CoreException
-