Eclipse Platform
Release 3.0

org.eclipse.debug.core
Interface ILaunchConfigurationType

All Superinterfaces:
IAdaptable

public interface ILaunchConfigurationType
extends IAdaptable

Describes and creates instances of a specific type of launch configuration. Launch configuration types are defined by extensions.

A launch configuration type extension is defined in plugin.xml. Following is an example definition of a launch configuration type extension.

 <extension point="org.eclipse.debug.core.launchConfigurationTypes">
   <launchConfigurationType 
      id="com.example.ExampleIdentifier"
      delegate="com.example.ExampleLaunchConfigurationDelegate"
      modes="run, debug"
      name="Example Application">
   </launchConfigurationType>
 </extension>
 
The attributes are specified as follows:

TODO: add new attributes - sourcePathComputerId and sourceLocatorId

The category attribute has been added in release 2.1, such that other tools may re-use the launch configuration framework for purposes other than the standard running and debugging of programs under developement. Such that clients may access arbitrary attribtes specified in launch configuration type extension definitions, the method getAttribute has also been added. Launch configurations that are to be recognized as standard run/debug launch configurations should not specify the category attribute.

This interface is not intended to be implemented by clients. Clients that define a launch configuration delegate extension implement the ILaunchConfigurationDelegate interface.

Since:
2.0
See Also:
ILaunchConfiguration

Method Summary
 String getAttribute(String attributeName)
          Returns the attribute with the given name, as specified by this launch configuration type's extension definition, or null if unspecified.
 String getCategory()
          Returns this launch configuration type's category, or null if unspecified.
 ILaunchConfigurationDelegate getDelegate()
          Deprecated. use getDelegate(String) to specify mode
 ILaunchConfigurationDelegate getDelegate(String mode)
          Returns the launch configuration delegate for launch configurations of this type, for the specified mode.
 String getIdentifier()
          Returns the unique identifier for this type of launch configuration
 String getName()
          Returns the name of this type of launch configuration.
 String getPluginIdentifier()
          Returns the identifier of the plug-in that contributes this launch configuration type.
 String getSourceLocatorId()
          Returns the identifier of the persistable source locator registered with this launch configurations type, or null if unspecified.
 ISourcePathComputer getSourcePathComputer()
          Returns the source path computer registered with this launch configuration type or null if unspecified.
 boolean isPublic()
          Returns whether this launch configuration type is public.
 ILaunchConfigurationWorkingCopy newInstance(IContainer container, String name)
          Returns a new launch configuration working copy of this type, that resides in the specified container, with the given name.
 boolean supportsMode(String mode)
          Returns whether this type of launch configuration supports the specified mode.
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Method Detail

supportsMode

public boolean supportsMode(String mode)
Returns whether this type of launch configuration supports the specified mode.

Parameters:
mode - a mode in which a configuration can be launched, one of the mode constants defined by ILaunchManager - RUN_MODE or DEBUG_MODE.
Returns:
whether this kind of launch configuration supports the specified mode

getName

public String getName()
Returns the name of this type of launch configuration.

Returns:
the name of this type of launch configuration

getIdentifier

public String getIdentifier()
Returns the unique identifier for this type of launch configuration

Returns:
the unique identifier for this type of launch configuration

isPublic

public boolean isPublic()
Returns whether this launch configuration type is public. Public configuration types are available for use by the user, for example, the user can create new configurations based on public types through the UI. Private types are not accessbile in this way, but are still available through the methods on ILaunchManager.

Returns:
whether this launch configuration type is public.

newInstance

public ILaunchConfigurationWorkingCopy newInstance(IContainer container,
                                                   String name)
                                            throws CoreException
Returns a new launch configuration working copy of this type, that resides in the specified container, with the given name. When container is null, the configuration will reside locally in the metadata area. Note: a launch configuration is not actually created until the working copy is saved.

Parameters:
container - the container in which the new configuration will reside, or null if the configuration should reside locally with the metadata.
name - name for the launch configuration
Returns:
a new launch configuration working copy instance of this type
Throws:
CoreException - if an instance of this type of launch configuration could not be created for any reason

getDelegate

public ILaunchConfigurationDelegate getDelegate()
                                         throws CoreException
Deprecated. use getDelegate(String) to specify mode

Returns the launch configuration delegate for launch configurations of this type, for run mode. The first time this method is called, the delegate is instantiated.

Returns:
launch configuration delegate
Throws:
CoreException - if unable to instantiate the delegate

getDelegate

public ILaunchConfigurationDelegate getDelegate(String mode)
                                         throws CoreException
Returns the launch configuration delegate for launch configurations of this type, for the specified mode. The first time this method is called for a mode, the delegate is instantiated. Launch delegates may be contributed to a launch configuration type via the extension point org.eclipse.debug.core.launchDelegates

Parameters:
mode - launch mode
Returns:
launch configuration delegate
Throws:
CoreException - if unable to instantiate the delegate
Since:
3.0

getCategory

public String getCategory()
Returns this launch configuration type's category, or null if unspecified. This corresponds to the category attribute specified in the extension definition.

Returns:
this launch configuration type's category, or null
Since:
2.1

getAttribute

public String getAttribute(String attributeName)
Returns the attribute with the given name, as specified by this launch configuration type's extension definition, or null if unspecified.

Parameters:
attributeName - attribute name
Returns:
the specified extension attribute, or null
Since:
2.1

getSourcePathComputer

public ISourcePathComputer getSourcePathComputer()
Returns the source path computer registered with this launch configuration type or null if unspecified. A source path computer can be registered with a launch configuration type in plug-in XML via the sourcePathComputerId attribute.

Returns:
the source path computer registered with this launch configuration type or null if unspecified
Since:
3.0

getSourceLocatorId

public String getSourceLocatorId()
Returns the identifier of the persistable source locator registered with this launch configurations type, or null if unspecified. Launch configuration types optionally specify this attribue in their plug-in XML via the sourceLocatorId attribute.

Returns:
the identifier of the persistable source locator registered with this launch configurations type, or null if unspecified
Since:
3.0

getPluginIdentifier

public String getPluginIdentifier()
Returns the identifier of the plug-in that contributes this launch configuration type.

Returns:
the identifier of the plug-in that contributes this launch configuration type
Since:
3.0

Eclipse Platform
Release 3.0

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.