Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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:

- `id` specifies a unique identifier for this launch configuration type.
- `delegate` specifies the fully qualified name of the java class that implements `ILaunchConfigurationDelegate`. Launch configuration instances of this type will delegate to instances of this class to perform launching.
- `modes` specifies a comma separated list of the modes this type of launch configuration suports - `"run"` and/or `"debug"`.
- `name` specifies a human readable name for this type of launch configuration.
- `category` is an optional attribute that specifies a category for this launch configuration type. Categories are client defined. This attribute was added in the 2.1 release.

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

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