public interface ILaunchableInterface used to tag objects as launchable. Objects that provide an adapter of this type will be considered by the contextual launch support.
The debug platform uses the
ILaunchableinterface as a tag for objects that can be launched via the context menu 'Run As / Debug As' actions and run/debug tool bar buttons. The platform checks if an
ILaunchableadapter is available from the selection/active editor to determine if it should be considered for launching. However, the platform never actually retrieves the adapter or calls any methods on it (the interface is, in fact, empty).
The debug platform performs the following test:
Thus objects that can be launched need to register
ILaunchableadapters, but don't have to provide implementations. There is also no harm in implementing the interface or providing the adapter. For example, JDT contributes an adapter as follows. Although no adapter is actually provided the platform will answer
<extension point="org.eclipse.core.runtime.adapters"> <factory class="" adaptableType="org.eclipse.jdt.core.IJavaElement"> <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/> </factory> </extension>
Clients may contribute an adapter of this type for launchable objects via the
org.eclipse.core.runtime.adaptersextension point. A factory and implementation of this interface are not actually required.
Clients that need to check for presence of launchable adapter using standard expression mechanism, should use a property tester as follows:
<with variable="selection"> <iterator operator="and" ifEmpty="false"> <test property="org.eclipse.debug.core.launchable" value="debug"/> </iterator> </with>
- See Also: