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 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 for
      target - 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 question
      target - - 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

      void launchTargetRemoved(ILaunchTarget target) throws org.eclipse.core.runtime.CoreException
      A launch target has been removed. Remove any launch configurations that were created for it.
      Parameters:
      target -
      Throws:
      org.eclipse.core.runtime.CoreException