Eclipse 3.6 Debug Platform Build Notes

Summary of API changes in 3.6

AbstractLaunchHistoryAction

What is affected:

Description: The implementation of org.eclipse.ui.IActionDelegate2 and the addition of the two implemented methods allows for the Ctrl key modifier to be used to open the last launched launch configuration when clicking on any launch history action.

Action required: This is a backwards compatible change. No action required.

ILaunchManager

What is affected:

Description: The generateLaunchConfigurationName(String namePrefix) method is a replacement for the traditional generateUniqueLaunchConfigurationNameFrom(configname) method - which has been deprecated. The new method behaves the same as its predecessor but also provides error checking on the new name to ensure it does not use any system reserved characters or names, like com on Windows for example. If an invalid name or character is found the method makes an effort to correct the name in one of two ways:

Action required: This is a backwards compatible change. No action required.

Description: The isValidLaunchConfigurationName(String configname) method is used to validate the specified configuration name and throws an IllegalArgumentException. This method provides the validation for the generateLaunchConfigurationName(String namePrefix) method.

Action required: This is a backwards compatible change. No action required.

Description: The ATTR_PRIVATE constant is a launch configuration attribute key used to identify whether a launch configuration should appear in the debug user interface (launch history, launch dialog, etc.). The value is a boolean. This attribute was previously defined in the debug UI plug-in, but was moved to core for headless plug-is that need to specify a value for this attribute.

Action required: This is a backwards compatible change. No action required.

DebugCommandAction base class

What is affected:

Description:The IDebugCommandHandler interface allows debugger to implement debug action handlers which execute asynchronously. Most of the debugger actions user this interface to communicate with the debug model. However, debuggers which need to add their own asynchronous actions had to duplicate the debug framework actions which invoke the IDebugCommandHandler handlers. DebugCommandAction and DebugCommandHandler are base classes which can be extended by debuggers to implement new types of actions with asynchronous execution handlers. Also, this change includes a standard base class AbstractDebugCommand to help implement the IDebugCommandHandler interface.

Action required: This is a backwards compatible change. No action required.

IRestartHandler

What is affected:

Description:The IRestartHandler interface enables a new "Restart" command. If a debugger supplies the IRestartHandler as an adapter to debug model elements, the new Restart command will be enabled. The restart command appears in the Debug view context menu and can be configured as a short cut.

Action required: This is a backwards compatible change. No action required.

RefreshUtil

What is affected:

Description:The RefreshUtil class provides API to create and restore mementos for resource collections as well as a convenience API for refreshing resources. This support was moved to org.eclipse.debug.core from org.eclispe.debug.ui such that headless plug-ins can leverage these features.

Action required: This is a backwards compatible change. No action required.

Launch Time Stamps

What is affected:

Description:A time stamp value is added to all launch objects representing the time a launch configuration's launch(...) method was called. The value of the launch attribute is a String representing a long generated from System.currentTimeMillis(). The attribute value can be obtained from ILaunch.getAttrbute(DebugPlugin.ATTR_LAUNCH_TIMESTAMP).

Action required: This is a backwards compatible change. No action required.

IDetailPane3

What is affected:

Description:An optional interface that detail pane extensions may implement in order to interact with the containing part's ISaveablePart function.

Action required: This is a backwards compatible change. No action required.