Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2002-04-02 03:09:27 +0000
committerDarin Wright2002-04-02 03:09:27 +0000
commit8549a9f571c1969a3d4331f5c48a02158892e76c (patch)
tree52cf2927b41a921c907d5ee33293a34defb2c9f5 /org.eclipse.debug.core/core/org/eclipse/debug
parentb91da8e8637db4ff43e9bcaafeafaf7b854e4557 (diff)
downloadeclipse.platform.debug-8549a9f571c1969a3d4331f5c48a02158892e76c.tar.gz
eclipse.platform.debug-8549a9f571c1969a3d4331f5c48a02158892e76c.tar.xz
eclipse.platform.debug-8549a9f571c1969a3d4331f5c48a02158892e76c.zip
API review
Diffstat (limited to 'org.eclipse.debug.core/core/org/eclipse/debug')
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java24
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java11
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java49
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java9
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java21
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java6
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventListener.java2
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java14
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java6
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java6
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java42
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java31
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java6
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java9
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java9
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java6
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java32
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java6
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java6
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java31
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java4
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java8
22 files changed, 143 insertions, 195 deletions
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
index 191c97e21..f490f20ad 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
@@ -121,47 +121,35 @@ import org.eclipse.debug.internal.core.DebugCoreMessages;
* </li>
* <li><code>IValue</code> - no events are specified for values.
* </li>
- * <li><code>IProcess</code>
- * <ul>
- * <li><code>CREATE</code> - a system process has been created.</li>
- * <li><code>TERMINATE</code> - a system process has terminated.</li>
- * </ul>
- * </li>
* </ul>
* <p>
* Clients may instantiate this class. Clients are not intended to subclass this class.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
*/
public final class DebugEvent extends EventObject {
/**
- * Resume event.
+ * Resume event kind.
*/
public static final int RESUME= 0x0001;
/**
- * Suspend event.
+ * Suspend event kind.
*/
public static final int SUSPEND= 0x0002;
/**
- * Create event.
+ * Create event kind.
*/
public static final int CREATE= 0x0004;
/**
- * Terminate event.
+ * Terminate event kind.
*/
public static final int TERMINATE= 0x0008;
/**
- * Change event.
+ * Change event kind.
*/
public static final int CHANGE= 0x0010;
@@ -216,7 +204,7 @@ public final class DebugEvent extends EventObject {
* Evaluation detail. Indicates that a thread was resumed or
* suspended to perform an expression evaluation that has no
* update side effects. Clients may use this detail event
- * for efficiency when it is known that an evaluation had
+ * for efficiency when it is known that an evaluation has
* no side effects.
*
* @since 2.0
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
index 051eef792..8591411d6 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
@@ -22,12 +22,6 @@ import org.eclipse.core.runtime.Status;
* <p>
* Clients may instantiate this class. Clients are not intended to subclass this class.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IStatus
*/
public class DebugException extends CoreException {
@@ -45,8 +39,9 @@ public class DebugException extends CoreException {
public static final int NOT_SUPPORTED = 5011;
/**
- * Indicates that a request made of a debug element or manager has failed
- * on the client side (that is, before the request was sent to the debug target).
+ * Indicates that a request made of manager has failed, or a request made of a
+ * debug element has failed on the client side (that is, before the request was
+ * sent to the debug target).
*/
public static final int REQUEST_FAILED = 5012;
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
index 0e24e2a25..e9d44bb1d 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
@@ -34,16 +34,11 @@ import org.eclipse.debug.internal.core.RuntimeProcess;
* <li>access to the expression manager</li>
* <li>access to the registered launcher extensions</li>
* <li>debug event notification</li>
+ * <li>status handlers</li>
* </ul>
* <p>
* Clients may not instantiate or subclass this class.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
*/
public class DebugPlugin extends Plugin {
@@ -54,32 +49,42 @@ public class DebugPlugin extends Plugin {
public static final String PLUGIN_ID = "org.eclipse.debug.core"; //$NON-NLS-1$
/**
- * Launcher extension point identifier
- * (value <code>"launchers"</code>).
+ * Simple identifier constant (value <code>"launchers"</code>) for the
+ * launchers extension point.
+ *
+ * @deprecated replaced with launch configurations
*/
public static final String EXTENSION_POINT_LAUNCHER= "launchers"; //$NON-NLS-1$
/**
- * Launch configuration types extension point identifier
- * (value <code>"launchConfigurationTypes"</code>).
+ * Simple identifier constant (value <code>"launchConfigurationTypes"</code>)
+ * for the launch configuration types extension point.
+ *
+ * @since 2.0
*/
public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPES= "launchConfigurationTypes"; //$NON-NLS-1$
/**
- * Breakpoint extension point identifier
- * (value <code>"breakpoints"</code>).
+ * Simple identifier constant (value <code>"breakpoints"</code>) for the
+ * breakpoints extension point.
+ *
+ * @since 2.0
*/
public static final String EXTENSION_POINT_BREAKPOINTS= "breakpoints"; //$NON-NLS-1$
/**
- * Status handler extension point identifier
- * (value <code>"statusHandlers"</code>).
+ * Simple identifier constant (value <code>"statusHandlers"</code>) for the
+ * status handlers extension point.
+ *
+ * @since 2.0
*/
public static final String EXTENSION_POINT_STATUS_HANDLERS= "statusHandlers"; //$NON-NLS-1$
/**
- * Source locator extension point identifier
- * (value <code>"sourceLocators"</code>).
+ * Simple identifier constant (value <code>"sourceLocators"</code>) for the
+ * source locators extension point.
+ *
+ * @since 2.0
*/
public static final String EXTENSION_POINT_SOURCE_LOCATORS= "sourceLocators"; //$NON-NLS-1$
@@ -186,6 +191,7 @@ public class DebugPlugin extends Plugin {
* registered.
*
* @param listener the listener to add
+ * @since 2.0
*/
public void addDebugEventListener(IDebugEventSetListener listener) {
fEventListeners.add(listener);
@@ -198,6 +204,7 @@ public class DebugPlugin extends Plugin {
*
* @param event the debug event to fire
* @see IDebugEventFilter
+ * @deprecated use <code>fireDebugEventSet(DebugEvent[])</code>
*/
public void fireDebugEvent(DebugEvent event) {
fireDebugEventSet(new DebugEvent[] {event});
@@ -211,6 +218,7 @@ public class DebugPlugin extends Plugin {
* @param events array of debug events to fire
* @see IDebugEventFilter
* @see IDebugEventSetListener
+ * @since 2.0
*/
public void fireDebugEventSet(DebugEvent[] events) {
if (isShuttingDown() || events == null)
@@ -296,6 +304,7 @@ public class DebugPlugin extends Plugin {
*
* @return the status handler registered for the given
* status, or <code>null</code> if none
+ * @since 2.0
*/
public IStatusHandler getStatusHandler(IStatus status) {
StatusHandlerKey key = new StatusHandlerKey(status.getPlugin(), status.getCode());
@@ -355,6 +364,7 @@ public class DebugPlugin extends Plugin {
* registered.
*
* @param listener the listener to remove
+ * @since 2.0
*/
public void removeDebugEventListener(IDebugEventSetListener listener) {
fEventListeners.remove(listener);
@@ -466,7 +476,7 @@ public class DebugPlugin extends Plugin {
}
/**
- * Removed the given debug event filter from the registered
+ * Removes the given debug event filter from the registered
* event filters. Has no effect if an identical filter
* is not already registerd.
*
@@ -485,7 +495,8 @@ public class DebugPlugin extends Plugin {
/**
* Logs the given message if in debug mode.
*
- * @param String message to log
+ * @param message the message to log
+ * @since 2.0
*/
public static void logDebugMessage(String message) {
if (getDefault().isDebugging()) {
@@ -499,6 +510,7 @@ public class DebugPlugin extends Plugin {
* Logs the specified status with this plug-in's log.
*
* @param status status to log
+ * @since 2.0
*/
public static void log(IStatus status) {
getDefault().getLog().log(status);
@@ -508,6 +520,7 @@ public class DebugPlugin extends Plugin {
* Logs the specified throwable with this plug-in's log.
*
* @param t throwable to log
+ * @since 2.0
*/
public static void log(Throwable t) {
IStatus status= new Status(IStatus.ERROR, getDefault().getDescriptor().getUniqueIdentifier(), INTERNAL_ERROR, "Error logged from Debug Core: ", t); //$NON-NLS-1$
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
index 553eadce1..e25f2fc70 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
@@ -16,12 +16,6 @@ import org.eclipse.debug.core.model.IBreakpoint;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IBreakpointManager
*/
@@ -32,6 +26,7 @@ public interface IBreakpointListener {
* to the breakpoint manager.
*
* @param breakpoint the added breakpoint
+ * @since 2.0
*/
public void breakpointAdded(IBreakpoint breakpoint);
/**
@@ -46,6 +41,7 @@ public interface IBreakpointListener {
* being deleted
*
* @see org.eclipse.core.resources.IMarkerDelta
+ * @since 2.0
*/
public void breakpointRemoved(IBreakpoint breakpoint, IMarkerDelta delta);
@@ -60,6 +56,7 @@ public interface IBreakpointListener {
* a marker delta
*
* @see org.eclipse.core.resources.IMarkerDelta
+ * @since 2.0
*/
public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta);
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
index fd0cc3f76..5d7d1bfad 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
@@ -12,9 +12,9 @@ import org.eclipse.debug.core.model.IBreakpoint;
/**
* The breakpoint manager manages the collection of breakpoints
* in the workspace. A breakpoint suspends the execution of a
- * program being debugged. The kinds of breakpoint supported by each
+ * program being debugged. The kinds of breakpoints supported by each
* debug architecture and the information required to create those
- * breakpoints is dictated by each debug architecture.
+ * breakpoints is defined by each debug architecture.
* Breakpoint creation is a client responsibility.
* <p>
* Clients interested in breakpoint change notification may
@@ -24,12 +24,6 @@ import org.eclipse.debug.core.model.IBreakpoint;
* <p>
* This interface is not intended to be implemented by clients.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IBreakpointListener
*/
public interface IBreakpointManager {
@@ -46,6 +40,7 @@ public interface IBreakpointManager {
* <li>A <code>CoreException</code> occurred while verifying the <code>MODEL_IDENTIFIER</code>
* attribute.</li>
* </ul>
+ * @since 2.0
*/
public void addBreakpoint(IBreakpoint breakpoint) throws CoreException;
@@ -56,14 +51,16 @@ public interface IBreakpointManager {
* @param marker the marker
* @return the breakpoint associated with the marker
* or <code>null</code> if none exists
+ * @since 2.0
*/
public IBreakpoint getBreakpoint(IMarker marker);
/**
- * Returns a collection of all existing breakpoints.
- * Returns an empty array if no breakpoints exist.
+ * Returns a collection of all registered breakpoints.
+ * Returns an empty array if no breakpoints are registered.
*
* @return an array of breakpoints
+ * @since 2.0
*/
public IBreakpoint[] getBreakpoints();
@@ -82,6 +79,7 @@ public interface IBreakpointManager {
*
* @param modelIdentifier identifier of a debug model plug-in
* @return an array of breakpoints
+ * @since 2.0
*/
public IBreakpoint[] getBreakpoints(String modelIdentifier);
@@ -90,6 +88,7 @@ public interface IBreakpointManager {
* registered with this breakpoint manager.
*
* @return whether the breakpoint is registered
+ * @since 2.0
*/
public boolean isRegistered(IBreakpoint breakpoint);
@@ -104,6 +103,7 @@ public interface IBreakpointManager {
* via the marker delta mechanism.
*
* @param breakpoint the breakpoint that has changed.
+ * @since 2.0
*/
public void fireBreakpointChanged(IBreakpoint breakpoint);
@@ -119,6 +119,7 @@ public interface IBreakpointManager {
* breakpoint
* @exception CoreException if an exception occurs while deleting the
* underlying marker.
+ * @since 2.0
*/
public void removeBreakpoint(IBreakpoint breakpoint, boolean delete) throws CoreException;
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
index 6cce4004a..64c1c8e3a 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
@@ -11,12 +11,6 @@ package org.eclipse.debug.core;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see DebugPlugin
* @since 2.0
*/
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventListener.java
index a352ff087..6be0e4fb3 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventListener.java
@@ -7,7 +7,7 @@ package org.eclipse.debug.core;
/**
* A debug event listener registers with the debug plug-in
- * to receive event notification from programs being debugged.
+ * to receive event notification from programs being run or debugged.
* <p>
* Clients may implement this interface.
* </p>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
index ae9a1fcae..bc812a19f 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
@@ -9,23 +9,15 @@ package org.eclipse.debug.core;
* A debug event set listener registers with the debug plug-in
* to receive event notification from programs being run or debugged.
* <p>
- * This interface is intended to replace <code>IDebugEventListener</code>.
- * </p>
- * <p>
* When more than one event is reported, each event has occurred at the
* same location in a target program. For example, a breakpoint may
- * reside at the same location at which a step request completed. In
- * this case the breakpoint event and step end event are reported together.
+ * reside at the same location at which a step request completes. In
+ * this case the breakpoint event and step end event are reported together
+ * in the same event set.
* </p>
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see DebugEvent
* @since 2.0
*/
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
index 1053b6cbb..c34bcf944 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
@@ -15,12 +15,6 @@ import org.eclipse.debug.core.model.IExpression;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IExpressionManager
* @since 2.0
*/
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
index 47adf5a20..04e8ac9e5 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
@@ -20,12 +20,6 @@ import org.eclipse.debug.core.model.IExpression;
* <p>
* This interface is not intended to be implemented by clients.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IExpression
* @see IExpressionListener
* @since 2.0
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
index 3bca7010f..a8fd9ae0a 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
@@ -16,20 +16,15 @@ import org.eclipse.core.runtime.IAdaptable;
* should create instances of this interface by using the implementation
* provided by the class <code>Launch</code>.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see Launch
*/
public interface ILaunch extends ITerminate, IAdaptable {
/**
- * Returns the children of this launch - at least one of a debug target
- * and/or one or more processes.
+ * Returns the children of this launch - a collection
+ * of one or more debug targets and processes, possibly empty.
*
- * @return an array (element type:<code>IDebugTarget</code> or <code>IProcess</code>)
+ * @return an array (element type:<code>IDebugTarget</code> or <code>IProcess</code>),
+ * or an empty array
*/
public Object[] getChildren();
/**
@@ -45,6 +40,7 @@ public interface ILaunch extends ITerminate, IAdaptable {
* Returns the object that was launched. Cannot return <code>null</code>.
*
* @return the launched object
+ * @deprecated to be removed
*/
public Object getElement();
/**
@@ -79,7 +75,8 @@ public interface ILaunch extends ITerminate, IAdaptable {
/**
* Adds the given debug target to this launch. Has no effect
* if the given debug target is already associated with this
- * launch.
+ * launch. Registered listeners are notified that this launch
+ * has changed.
*
* @param target debug target to add to this launch
* @since 2.0
@@ -87,14 +84,37 @@ public interface ILaunch extends ITerminate, IAdaptable {
public void addDebugTarget(IDebugTarget target);
/**
+ * Removes the given debug target from this launch. Has no effect
+ * if the given debug target is not already associated with this
+ * launch. Registered listeners are notified that this launch
+ * has changed.
+ *
+ * @param target debug target to remove from this launch
+ * @since 2.0
+ */
+ public void removeDebugTarget(IDebugTarget target);
+
+ /**
* Adds the given process to this launch. Has no effect
* if the given process is already associated with this
- * launch.
+ * launch. Registered listeners are notified that this launch
+ * has changed.
*
* @param process the process to add to this launch
* @since 2.0
*/
public void addProcess(IProcess process);
+
+ /**
+ * Removes the given process from this launch. Has no effect
+ * if the given process is not already associated with this
+ * launch. Registered listeners are notified that this launch
+ * has changed.
+ *
+ * @param process the process to remove from this launch
+ * @since 2.0
+ */
+ public void removeProcess(IProcess process);
/**
* Returns the source locator to use for locating source elements for
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
index 92f4d82e0..f89b177b9 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
@@ -16,15 +16,12 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.debug.core.model.IPersistableSourceLocator;
/**
- * Note: This interface is yet experimental.
- * <p>
* A launch configuration describes how to launch an application.
* Each launch configuration is an instance of a type of launch
* configuration as described by a launch configuration type
* extension. Each launch configuration has a launch configuration
* delegate which performs the actual launching of a
* configuration.
- * </p>
* <p>
* A launch configuration may be shared in a repository via
* standard VCM mechanisms, or may be stored locally, essentially
@@ -45,12 +42,6 @@ import org.eclipse.debug.core.model.IPersistableSourceLocator;
* that define a launch configuration delegate extension implement the
* <code>ILaunchConfigurationDelegate</code> interface.
* </p>
- * <p>
- * <b>NOTE:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see ILaunchConfigurationType
* @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate
* @see ILaunchConfigurationWorkingCopy
@@ -59,7 +50,8 @@ import org.eclipse.debug.core.model.IPersistableSourceLocator;
public interface ILaunchConfiguration extends IAdaptable {
/**
- * The file extension for launch configuration files.
+ * The file extension for launch configuration files
+ * (value <code>"launch"</code>).
*/
public static final String LAUNCH_CONFIGURATION_FILE_EXTENSION = "launch"; //$NON-NLS-1$
@@ -96,7 +88,7 @@ public interface ILaunchConfiguration extends IAdaptable {
* source locator is used.
* The resulting launch object is registered with the launch manager.
* Returns <code>null</code> if the launch is not completed.
- * This causes the underlying launch configuration delegate
+ * Invoking this method causes the underlying launch configuration delegate
* to be instantiated (if not already).
*
* @param mode the mode in which to launch, one of the mode constants
@@ -122,8 +114,7 @@ public interface ILaunchConfiguration extends IAdaptable {
* specified mode
* @exception CoreException if this method fails. Reasons include:
* <ul>
- * <li>An exception occurs while initializing the contents of the
- * working copy from this configurations underlying storage.</li>
+ * <li>Unable to retrieve this launch configuration's type.</li>
* </ul>
*/
public boolean supportsMode(String mode) throws CoreException;
@@ -251,8 +242,7 @@ public interface ILaunchConfiguration extends IAdaptable {
* @return the type of this launch configuration
* @exception CoreException if this method fails. Reasons include:
* <ul>
- * <li>An exception occurs while initializing the contents of the
- * working copy from this configurations underlying storage.</li>
+ * <li>Unable to retrieve or instantiate this launch configuration's type.</li>
* </ul>
* @see ILaunchConfigurationType
*/
@@ -291,8 +281,7 @@ public interface ILaunchConfiguration extends IAdaptable {
* as its original launch configuration (the working copy
* will return <code>null</code> for <code>getOriginal()</code>).
* When the working copy is saved it will not effect this
- * launch configuration. Note: clients should rename the
- * copy to avoid overwriting this launch configuration.
+ * launch configuration.
*
* @param name the name of the copy
* @return a copy of this launch configuration
@@ -341,14 +330,12 @@ public interface ILaunchConfiguration extends IAdaptable {
public String getMemento() throws CoreException;
/**
- * Because an <code>ILaunchConfiguration</code> is a handle, the equals() method
- * should return whether the handles are equal. This method returns whether the
- * contents of the launch configurations are equal. Thus, this method is akin
- * to a 'deep' equals.
+ * Returns whether the contents of this launch configuration are
+ * equal to the contents of the given launch configuration.
*
* @return whether the contents of this launch configuration are equal to the contents
* of specified launch configuration.
*/
- public boolean contentsEqual(Object object);
+ public boolean contentsEqual(ILaunchConfiguration configuration);
}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
index 9b94611e2..2653d8a08 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
@@ -11,12 +11,6 @@ package org.eclipse.debug.core;
* <p>
* This interface is intended to be implemented by clients.
* </p>
- * <p>
- * <b>NOTE:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @since 2.0
*/
public interface ILaunchConfigurationListener {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
index 1e859d6d2..64c3788b5 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
@@ -10,12 +10,9 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
/**
- * Note: This interface is yet experimental.
- * <p>
* Describes and creates instances of a specific type of
* launch configuration. Launch configuration types are
* defined by extensions.
- * </p>
* <p>
* A launch configuration type extension is defined in <code>plugin.xml</code>.
* Following is an example definition of a launch configuration
@@ -49,12 +46,6 @@ import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
* that define a launch configuration delegate extension implement the
* <code>ILaunchConfigurationDelegate</code> interface.
* </p>
- * <p>
- * <b>NOTE:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see ILaunchConfiguration
* @since 2.0
*/
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
index f5b42d9b5..a248fb885 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
@@ -13,23 +13,14 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IAdaptable;
/**
- * Note: This interface is yet experimental.
- * <p>
* An editable copy of a launch configuration. Attributes of a
* launch configuration are modified by modifying the attributes
* of a working copy, and then saving the working copy.
- * </p>
* <p>
* This interface is not intended to be implemented by clients. Clients
* that define a launch configuration delegate extension implement the
* <code>ILaunchConfigurationDelegate</code> interface.
* </p>
- * <p>
- * <b>NOTE:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see ILaunchConfiguration
* @see ILaunchConfigurationType
* @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
index c77cdf18f..9ba10aed7 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
@@ -13,12 +13,6 @@ package org.eclipse.debug.core;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see ILaunch
*/
public interface ILaunchListener {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
index b86f29e10..71c42a2c7 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
@@ -19,18 +19,8 @@ import org.eclipse.core.runtime.IAdaptable;
* a collection of active processes and debug targets. Clients interested
* in launch notification may register with the launch manager.
* <p>
- * For convenience, a default launcher may be associated with a project.
- * The preference is stored as a persistent property with the project.
- * </p>
- * <p>
* Clients are not intended to implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see ILaunch
* @see ILaunchListener
*/
@@ -65,6 +55,7 @@ public interface ILaunchManager {
* registered.
*
* @param launch the launch to remove
+ * @since 2.0
*/
public void removeLaunch(ILaunch launch);
/**
@@ -73,6 +64,7 @@ public interface ILaunchManager {
*
* @param process the process for which to find a launch
* @return the launch containing the process, or <code>null</code> if none
+ * @deprecated debug elements should have a hard link to their launch
*/
public ILaunch findLaunch(IProcess process);
/**
@@ -81,6 +73,7 @@ public interface ILaunchManager {
*
* @param target the debug target for which to find a launch
* @return the launch containing the debug target, or <code>null</code> if none
+ * @deprecated debug elements should have a hard link to their launch
*/
public ILaunch findLaunch(IDebugTarget target);
/**
@@ -101,6 +94,7 @@ public interface ILaunchManager {
* been set for the project
* @exception CoreException if an error occurs accessing the
* persistent property
+ * @deprecated to be removed
*/
public ILauncher getDefaultLauncher(IProject project) throws CoreException;
@@ -109,6 +103,7 @@ public interface ILaunchManager {
* specified mode - run or debug.
*
* @return an array of launchers
+ * @deprecated to be removed
*/
public ILauncher[] getLaunchers(String mode);
@@ -116,6 +111,7 @@ public interface ILaunchManager {
* Returns the collection of registered launchers.
*
* @return an array of launchers
+ * @deprecated to be removed
*/
public ILauncher[] getLaunchers();
/**
@@ -146,6 +142,7 @@ public interface ILaunchManager {
* effect if an identical launch is already registered.
*
* @param launch the launch to add
+ * @since 2.0
*/
public void addLaunch(ILaunch launch);
/**
@@ -161,6 +158,7 @@ public interface ILaunchManager {
* @param project the project for which to set the preference
* @param launcher the default launcher preference
* @exception CoreException if an error occurs setting the persistent property
+ * @deprecated to be removed
*/
public void setDefaultLauncher(IProject project, ILauncher launcher) throws CoreException;
@@ -254,13 +252,14 @@ public interface ILaunchManager {
/**
* Returns the default launch configuration type for the specified resource,
- * or <code>null</code> if there is none. If boolean parameter is <code>true</code>,
- * only the specified resource will be considered when looking for a default launch
- * configuration type, otherwise the resource's containment hierarchy will be checked
- * for a default launch configuration type, then the resource's file extension will be checked.
+ * or <code>null</code> if there is none. If <code>considerResourceOnly</code>
+ * is <code>true</code>, only the specified resource will be considered when looking
+ * for a default launch configuration type, otherwise the resource's containment
+ * hierarchy will be checked for a default launch configuration type, then the
+ * resource's file extension will be checked.
*
* @param considerResourceOnly flag that indicates whether to consider only the specified
- * resource or
+ * resource or its containers and file extension as well
* @param resource the resource whose default launch configuration type will be returned
* @since 2.0
*/
@@ -303,9 +302,10 @@ public interface ILaunchManager {
* @param resource the workbench resource whose default launch configuration type is being set
* @param configTypeID ID String of the launch configuration type that is being set as the default for
* the specified resource
+ * @exception CoreException if unable to set the default launch configuration type
* @since 2.0
*/
- public void setDefaultLaunchConfigurationType(IResource resource, String configTypeID);
+ public void setDefaultLaunchConfigurationType(IResource resource, String configTypeID) throws CoreException;
/**
* Set the specified launch configuration type as the default for resources with the specified
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
index b043853eb..fe61fb53b 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
@@ -52,12 +52,6 @@ import org.eclipse.core.runtime.IStatus;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see DebugPlugin#getStatusHandler(IStatus)
* @since 2.0
*/
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
index 278105e83..50be60d37 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
@@ -13,12 +13,6 @@ import org.eclipse.debug.core.model.IStreamMonitor;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IStreamMonitor
*/
public interface IStreamListener {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
index 5c9382978..bd13fa067 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
@@ -33,12 +33,6 @@ import org.eclipse.debug.internal.core.LaunchManager;
* implements a launch object representing a Java launch might store a classpath
* with the launch.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see ILaunch
* @see ILaunchManager
*/
@@ -106,6 +100,7 @@ public class Launch extends PlatformObject implements ILaunch {
* or <code>null</code> if none
* @param target the debug target created by this launch, or <code>null</code>
* if none
+ * @deprecated to be removed
*/
public Launch(ILauncher launcher, String mode, Object launchedElement, ISourceLocator locator, IProcess[] processes, IDebugTarget target) {
setLauncher(launcher);
@@ -388,6 +383,18 @@ public class Launch extends PlatformObject implements ILaunch {
}
/**
+ * @see ILaunch#removeDebugTarget(IDebugTarget)
+ */
+ public final void removeDebugTarget(IDebugTarget target) {
+ if (target != null) {
+ if (!getDebugTargets0().contains(target)) {
+ getDebugTargets0().remove(target);
+ fireChanged();
+ }
+ }
+ }
+
+ /**
* @see ILaunch#addProcess(IProcess)
*/
public final void addProcess(IProcess process) {
@@ -400,6 +407,18 @@ public class Launch extends PlatformObject implements ILaunch {
}
/**
+ * @see ILaunch#removeProcess(IProcess)
+ */
+ public final void removeProcess(IProcess process) {
+ if (process != null) {
+ if (!getProcesses0().contains(process)) {
+ getProcesses0().remove(process);
+ fireChanged();
+ }
+ }
+ }
+
+ /**
* Adds the given processes to this lanuch.
*
* @param processes processes to add
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
index 48cee387b..8107c075a 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
@@ -394,9 +394,9 @@ public class LaunchConfiguration extends PlatformObject implements ILaunchConfig
}
/**
- * @see ILaunchConfiguration#contentsEqual(Object)
+ * @see ILaunchConfiguration#contentsEqual(ILaunchConfiguration)
*/
- public boolean contentsEqual(Object object) {
+ public boolean contentsEqual(ILaunchConfiguration object) {
try {
if (object instanceof LaunchConfiguration) {
LaunchConfiguration otherConfig = (LaunchConfiguration) object;
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
index 4182568f6..8a94dc136 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
@@ -463,12 +463,8 @@ public class LaunchManager implements ILaunchManager, IResourceChangeListener {
/**
* @see ILaunchManager#setDefaultLaunchConfigurationType(IResource, String)
*/
- public void setDefaultLaunchConfigurationType(IResource resource, String configTypeID) {
- try {
- resource.setPersistentProperty(fgQualNameDefaultConfigType, configTypeID);
- } catch (CoreException ce) {
- DebugPlugin.log(ce);
- }
+ public void setDefaultLaunchConfigurationType(IResource resource, String configTypeID) throws CoreException {
+ resource.setPersistentProperty(fgQualNameDefaultConfigType, configTypeID);
}
/**

Back to the top