Skip to content
Commits on Source (3)
eclipse-platform-debug (4.11-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bourg <ebourg@apache.org> Thu, 11 Jul 2019 11:09:55 +0200
eclipse-platform-debug (4.10-1) unstable; urgency=medium
* New upstream release
......
......@@ -14,7 +14,7 @@
<parent>
<artifactId>eclipse.platform.debug</artifactId>
<groupId>eclipse.platform.debug</groupId>
<version>4.10.0-SNAPSHOT</version>
<version>4.11.0-SNAPSHOT</version>
</parent>
<groupId>org.eclipse.core</groupId>
<artifactId>org.eclipse.core.externaltools</artifactId>
......
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.core.variables; singleton:=true
Bundle-Version: 3.4.300.qualifier
Bundle-Version: 3.4.400.qualifier
Bundle-Activator: org.eclipse.core.variables.VariablesPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
......
......@@ -14,10 +14,10 @@
<parent>
<artifactId>eclipse.platform.debug</artifactId>
<groupId>eclipse.platform.debug</groupId>
<version>4.10.0-SNAPSHOT</version>
<version>4.11.0-SNAPSHOT</version>
</parent>
<groupId>org.eclipse.core</groupId>
<artifactId>org.eclipse.core.variables</artifactId>
<version>3.4.300-SNAPSHOT</version>
<version>3.4.400-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
......@@ -16,11 +16,14 @@ package org.eclipse.core.variables;
import org.eclipse.core.runtime.CoreException;
/**
* A dynamic variable is a variable whose value is computed dynamically
* by a resolver at the time a string substitution is performed. A dynamic
* variable is contributed by an extension.
* A dynamic variable is a variable whose value is computed dynamically by a
* resolver at the time a string substitution is performed. A dynamic variable
* is contributed by an extension.
* <p>
* The following is a definition of a dynamic variable that resolves to the name of the selected resource:
* The following is a definition of a dynamic variable that resolves to the name
* of the selected resource:
* </p>
*
* <pre>
* &lt;extension point="org.eclipse.core.variables.dynamicVariables"&gt;
* &lt;variable
......@@ -31,11 +34,11 @@ import org.eclipse.core.runtime.CoreException;
* &lt;/variable&gt;
* &lt;/extension&gt;
* </pre>
* </p>
* <p>
* Clients contributing a dynamic variable provide an implementation of
* {@link org.eclipse.core.variables.IDynamicVariableResolver}.
* </p>
*
* @since 3.0
* @noimplement This interface is not intended to be implemented by clients.
*/
......
......@@ -15,28 +15,31 @@ package org.eclipse.core.variables;
/**
* A variable that can be referenced in an expression, which resolves to a string
* value. Variables are referenced in expressions via their name, in the following
* format.
* A variable that can be referenced in an expression, which resolves to a
* string value. Variables are referenced in expressions via their name, in the
* following format.
*
* <pre>
* ${varname} or ${varname:argument}
* </pre>
* <p>
* A variable is identified by its name, and optionally accepts an argument. When an
* argument is present, a colon separates the variable name from its argument.
* A variable is identified by its name, and optionally accepts an argument.
* When an argument is present, a colon separates the variable name from its
* argument.
* </p>
* <p>
* Variables can be contributed by extensions or programmatically. There are two
* kinds of variables.
* </p>
* <ul>
* <li><code>IValueVariable</code> - variables that have a value (with getter and setter), and
* accept no arguments. The value of this type of variable is resolved at the time
* its value is set via its setter API.</li>
* <li><code>IDynamicVariable</code> - variables whose value is resolved at the time
* a string substitution is performed by a contributed resolver. Dynamic variables
* may accept an argument.</li>
* <li><code>IValueVariable</code> - variables that have a value (with getter
* and setter), and accept no arguments. The value of this type of variable is
* resolved at the time its value is set via its setter API.</li>
* <li><code>IDynamicVariable</code> - variables whose value is resolved at the
* time a string substitution is performed by a contributed resolver. Dynamic
* variables may accept an argument.</li>
* </ul>
* </p>
*
* @since 3.0
* @noimplement This interface is not intended to be implemented by clients.
*/
......
......@@ -14,19 +14,23 @@
package org.eclipse.core.variables;
/**
* A variable with a value that can be set and retrieved. The context in which
* a value variable is referenced does not affect the value of the variable.
* A value variable can be contributed by an extension or created programmatically.
* A contributor may optionally specify an initial value for a variable, or
* provide a delegate that will initialize the variable with a value.
* A variable with a value that can be set and retrieved. The context in which a
* value variable is referenced does not affect the value of the variable. A
* value variable can be contributed by an extension or created
* programmatically. A contributor may optionally specify an initial value for a
* variable, or provide a delegate that will initialize the variable with a
* value.
* <p>
* Since 3.3, a variable can be specified as a "read only" preventing users from changing
* the value after it has been initialized. Furthermore, a read only variable that is
* contributed by an extension will always load the value from the extension.
* Since 3.3, a variable can be specified as a "read only" preventing users from
* changing the value after it has been initialized. Furthermore, a read only
* variable that is contributed by an extension will always load the value from
* the extension.
* </p>
* <p>
* Example of a value variable contribution with an initial value, the specified
* variable is created with the initial value "/usr/local/foo".
* </p>
*
* <pre>
* &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
* &lt;variable
......@@ -35,11 +39,12 @@ package org.eclipse.core.variables;
* &lt;/variable&gt;
* &lt;/extension&gt;
* </pre>
* </p>
* <p>
* Example of a value variable contribution with an initializer class, the class
* "com.example.FooLocator" will be used to initialize the value the first time
* it's requested.
* </p>
*
* <pre>
* &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
* &lt;variable
......@@ -48,7 +53,7 @@ package org.eclipse.core.variables;
* &lt;/variable&gt;
* &lt;/extension&gt;
* </pre>
* </p>
*
* @since 3.0
* @noimplement This interface is not intended to be implemented by clients.
*/
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.debug.core" version="2">
<resource path="core/org/eclipse/debug/core/IBreakpointManagerListener.java" type="org.eclipse.debug.core.IBreakpointManagerListener">
<filter id="404000815">
<message_arguments>
<message_argument value="org.eclipse.debug.core.IBreakpointManagerListener"/>
<message_argument value="breakpointManagerTriggerPointChanged(IBreakpoint)"/>
</message_arguments>
</filter>
</resource>
<resource path="core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java" type="org.eclipse.debug.core.model.ILaunchConfigurationDelegate">
<filter comment="adding default method" id="404000815">
<message_arguments>
<message_argument value="org.eclipse.debug.core.model.ILaunchConfigurationDelegate"/>
<message_argument value="showCommandLine(ILaunchConfiguration, String, ILaunch, IProgressMonitor)"/>
</message_arguments>
</filter>
</resource>
</component>
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.debug.core; singleton:=true
Bundle-Version: 3.13.100.qualifier
Bundle-Version: 3.13.200.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.debug.core.DebugPlugin
Bundle-Vendor: %providerName
......
......@@ -19,49 +19,50 @@ import java.util.EventObject;
import org.eclipse.debug.internal.core.DebugCoreMessages;
/**
* A debug event describes an event in a program being debugged or
* in a running process. Debug models and process implementations
* are required to generate debug events as specified by this class.
* A debug event describes an event in a program being debugged or in a running
* process. Debug models and process implementations are required to generate
* debug events as specified by this class.
* <p>
* The following list defines the events generated for each debug
* model element.
* The <code>getSource()</code> method of a debug event
* returns the element associated with the event.
* Creation events are guaranteed to occur in a top
* down order - that is, parents are created before children.
* Termination events are guaranteed to occur in a bottom up order -
* that is, children before parents. However, termination events are not guaranteed
* for all elements that are created. That is, terminate events can be coalesced - a
* terminate event for a parent signals that all children have been terminated.
* The following list defines the events generated for each debug model element.
* The <code>getSource()</code> method of a debug event returns the element
* associated with the event. Creation events are guaranteed to occur in a top
* down order - that is, parents are created before children. Termination events
* are guaranteed to occur in a bottom up order - that is, children before
* parents. However, termination events are not guaranteed for all elements that
* are created. That is, terminate events can be coalesced - a terminate event
* for a parent signals that all children have been terminated.
* </p>
* <p>
* A debug model may define model specific events by specifying a debug event
* kind of <code>MODEL_SPECIFIC</code>. A model specific event is identified by the
* event source (i.e. by the debug model that generated the event). The detail of
* a model specific event is client defined. Note that model specific events are
* not understood by the debug platform, and are thus ignored.
* kind of <code>MODEL_SPECIFIC</code>. A model specific event is identified by
* the event source (i.e. by the debug model that generated the event). The
* detail of a model specific event is client defined. Note that model specific
* events are not understood by the debug platform, and are thus ignored.
* </p>
* <p>
* The generic <code>CHANGE</code> event can be fired at any time by any element.
* Generally, a client of a debug model, such as as a UI, can get sufficient
* information to update by listening/responding to the other event kinds. However,
* if a debug model needs to inform clients of a change that is not specified
* by create/terminate/suspend/resume, the <code>CHANGE</code> event may be used.
* For example, generally, the only way a thread or any of its children can change
* state between a suspend and resume operation, is if the thread or owning debug
* target is terminated. However, if a debug model supports some other operation
* that would allow a debug element to change state while suspended, the debug model
* would fire a change event for that element. The valid detail codes for a
* change event are:<ul>
* <li><code>STATE</code> - indicates the state of an element has changed, but its
* children are not affected. A client would use a state change event to update
* a label of the affected element, but would not update any children.</li>
* <li><code>CONTENT</code> - indicates that a debug element's value or contents have
* changed in some way. For example, when the value of a variable is changed
* explicitly, the variable should fire a content change event.</li>
* </ul>
* The generic <code>CHANGE</code> event can be fired at any time by any
* element. Generally, a client of a debug model, such as as a UI, can get
* sufficient information to update by listening/responding to the other event
* kinds. However, if a debug model needs to inform clients of a change that is
* not specified by create/terminate/suspend/resume, the <code>CHANGE</code>
* event may be used. For example, generally, the only way a thread or any of
* its children can change state between a suspend and resume operation, is if
* the thread or owning debug target is terminated. However, if a debug model
* supports some other operation that would allow a debug element to change
* state while suspended, the debug model would fire a change event for that
* element. The valid detail codes for a change event are:
* </p>
* <ul>
* <li><code>STATE</code> - indicates the state of an element has changed, but
* its children are not affected. A client would use a state change event to
* update a label of the affected element, but would not update any
* children.</li>
* <li><code>CONTENT</code> - indicates that a debug element's value or contents
* have changed in some way. For example, when the value of a variable is
* changed explicitly, the variable should fire a content change event.</li>
* </ul>
*
* <ul>
* <li><code>IProcess</code>
* <ul>
* <li><code>CREATE</code> - a process has been created and is executing.</li>
......@@ -69,27 +70,34 @@ import org.eclipse.debug.internal.core.DebugCoreMessages;
* </ul>
* <li><code>IDebugTarget</code>
* <ul>
* <li><code>CREATE</code> - a debug target has been created and is ready
* to begin a debug session.</li>
* <li><code>CREATE</code> - a debug target has been created and is ready to
* begin a debug session.</li>
* <li><code>TERMINATE</code> - a debug target has terminated and the debug
* session has ended.</li>
* <li><code>SUSPEND</code> - a debug target has suspended. Event detail provides
* the reason for the suspension:<ul>
* <li><code>SUSPEND</code> - a debug target has suspended. Event detail
* provides the reason for the suspension:
* <ul>
* <li><code>STEP_END</code> - a request to step has completed</li>
* <li><code>BREAKPOINT</code> - a breakpoint has been hit</li>
* <li><code>CLIENT_REQUEST</code> - a client request has caused the target to suspend
* (i.e. an explicit call to <code>suspend()</code>)</li>
* <li><code>UNSPECIFIED</code> - the reason for the suspend is not specified</li>
* <li><code>CLIENT_REQUEST</code> - a client request has caused the target to
* suspend (i.e. an explicit call to <code>suspend()</code>)</li>
* <li><code>UNSPECIFIED</code> - the reason for the suspend is not
* specified</li>
* </ul>
* </li>
* <li><code>RESUME</code> - a debug target has resumed. Event detail provides
* the reason for the resume:<ul>
* <li><code>STEP_INTO</code> - a target is being resumed because of a request to step into</li>
* <li><code>STEP_OVER</code> - a target is being resumed because of a request to step over</li>
* <li><code>STEP_RETURN</code> - a target is being resumed because of a request to step return</li>
* <li><code>CLIENT_REQUEST</code> - a client request has caused the target to be resumed
* (i.e. an explicit call to <code>resume()</code>)</li>
* <li><code>UNSPECIFIED</code> - The reason for the resume is not specified</li>
* the reason for the resume:
* <ul>
* <li><code>STEP_INTO</code> - a target is being resumed because of a request
* to step into</li>
* <li><code>STEP_OVER</code> - a target is being resumed because of a request
* to step over</li>
* <li><code>STEP_RETURN</code> - a target is being resumed because of a request
* to step return</li>
* <li><code>CLIENT_REQUEST</code> - a client request has caused the target to
* be resumed (i.e. an explicit call to <code>resume()</code>)</li>
* <li><code>UNSPECIFIED</code> - The reason for the resume is not
* specified</li>
* </ul>
* </li>
* </ul>
......@@ -98,45 +106,49 @@ import org.eclipse.debug.internal.core.DebugCoreMessages;
* <ul>
* <li><code>CREATE</code> - a thread has been created in a debug target.</li>
* <li><code>TERMINATE</code> - a thread has terminated.</li>
* <li><code>SUSPEND</code> - a thread has suspended execution. Event detail provides
* the reason for the suspension:<ul>
* <li><code>SUSPEND</code> - a thread has suspended execution. Event detail
* provides the reason for the suspension:
* <ul>
* <li><code>STEP_END</code> - a request to step has completed</li>
* <li><code>BREAKPOINT</code> - a breakpoint has been hit</li>
* <li><code>CLIENT_REQUEST</code> - a client request has caused the thread to suspend
* (i.e. an explicit call to <code>suspend()</code>)</li>
* <li><code>CLIENT_REQUEST</code> - a client request has caused the thread to
* suspend (i.e. an explicit call to <code>suspend()</code>)</li>
* <li><code>EVALUATION</code> - an expression evaluation has ended that may
* have had side effects in the debug target.</li>
* <li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has ended that
* had no side effects in the debug target.</li>
* <li><code>UNSPECIFIED</code> - the reason for the suspend is not specified</li>
* <li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has ended
* that had no side effects in the debug target.</li>
* <li><code>UNSPECIFIED</code> - the reason for the suspend is not
* specified</li>
* </ul>
* </li>
* <li><code>RESUME</code> - a thread has resumed execution. Event detail provides
* the reason for the resume:<ul>
* <li><code>STEP_INTO</code> - a thread is being resumed because of a request to step into</li>
* <li><code>STEP_OVER</code> - a thread is being resumed because of a request to step over</li>
* <li><code>STEP_RETURN</code> - a thread is being resumed because of a request to step return</li>
* <li><code>CLIENT_REQUEST</code> - a client request has caused the thread to be resumed
* (i.e. an explicit call to <code>resume()</code>)</li>
* <li><code>RESUME</code> - a thread has resumed execution. Event detail
* provides the reason for the resume:
* <ul>
* <li><code>STEP_INTO</code> - a thread is being resumed because of a request
* to step into</li>
* <li><code>STEP_OVER</code> - a thread is being resumed because of a request
* to step over</li>
* <li><code>STEP_RETURN</code> - a thread is being resumed because of a request
* to step return</li>
* <li><code>CLIENT_REQUEST</code> - a client request has caused the thread to
* be resumed (i.e. an explicit call to <code>resume()</code>)</li>
* <li><code>EVALUATION</code> - an expression evaluation has started that may
* have side effects in the debug target.</li>
* <li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has started that
* will have no side effects in the debug target.</li>
* <li><code>UNSPECIFIED</code> - The reason for the resume is not specified</li>
* <li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has started
* that will have no side effects in the debug target.</li>
* <li><code>UNSPECIFIED</code> - The reason for the resume is not
* specified</li>
* </ul>
* </li>
* </ul>
* </li>
* <li><code>IStackFrame</code> - no events are specified for stack frames.
* When a thread is suspended, it has stack frames. When a thread resumes,
* stack frames are unavailable.
* </li>
* <li><code>IVariable</code> - no events are specified for variables.
* When a thread is suspended, stack frames have variables. When a thread resumes,
* variables are unavailable.
* </li>
* <li><code>IValue</code> - no events are specified for values.
* </li>
* <li><code>IStackFrame</code> - no events are specified for stack frames. When
* a thread is suspended, it has stack frames. When a thread resumes, stack
* frames are unavailable.</li>
* <li><code>IVariable</code> - no events are specified for variables. When a
* thread is suspended, stack frames have variables. When a thread resumes,
* variables are unavailable.</li>
* <li><code>IValue</code> - no events are specified for values.</li>
* </ul>
*
*/
......
......@@ -323,7 +323,7 @@ public interface IBreakpointManager {
* Returns whether a workspace has active TriggerPoints
*
* @return return <code>true</code> if a breakpoint has active triggers and
* cannot suspend and return <code>false> otherwise.
* cannot suspend and return <code>false</code> otherwise.
* @since 3.11
*/
boolean hasActiveTriggerPoints();
......@@ -332,8 +332,9 @@ public interface IBreakpointManager {
* Revisit all the trigger points to activate/deactivate trigger points.
*
* @param triggerPoints list of trigger points to be deactivated or
* <code>null<code> to deactivate all trigger points
* @param enable enable if <code>true</code> or disable if <code>false</code>
* <code>null</code> to deactivate all trigger points
* @param enable enable if <code>true</code> or disable if
* <code>false</code>
* @since 3.11
*/
void enableTriggerPoints(IBreakpoint[] triggerPoints, boolean enable);
......
......@@ -40,7 +40,7 @@ public interface IBreakpointManagerListener {
* Notifies the listener that the breakpoint manager's trigger point has
* changed.
*
* @param triggerBreakpoint new trigger breakpoint or <code>null<code>
* @param triggerBreakpoint new trigger breakpoint or <code>null</code>
* @since 3.11
*/
default void breakpointManagerTriggerPointChanged(IBreakpoint triggerBreakpoint) {
......
......@@ -29,35 +29,33 @@ import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
/**
* 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
* 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>
* A launch configuration may be shared in a repository via
* standard VCM mechanisms, or may be stored locally, essentially
* making the launch configuration private for a single user.
* Thus, a launch configuration may stored as a file in the
* workspace (shared), or as a file in the debug plug-in's state
* location.
* A launch configuration may be shared in a repository via standard VCM
* mechanisms, or may be stored locally, essentially making the launch
* configuration private for a single user. Thus, a launch configuration may
* stored as a file in the workspace (shared), or as a file in the debug
* plug-in's state location.
* </p>
* A launch configuration is a handle to its underlying storage.
* Methods annotated as "handle-only" do not require a configuration
* to exist. Methods that require an underlying configuration to exist
* throw a <code>CoreException</code> when an underlying configuration
* is missing.
* <p>
* A launch configuration is a handle to its underlying storage. Methods
* annotated as "handle-only" do not require a configuration to exist. Methods
* that require an underlying configuration to exist throw a
* <code>CoreException</code> when an underlying configuration is missing.
* </p>
* <p>
* A launch configuration is modified by obtaining a working copy
* of a launch configuration, modifying the working copy, and then
* saving the working copy.
* A launch configuration is modified by obtaining a working copy of a launch
* configuration, modifying the working copy, and then saving the working copy.
* </p>
* <p>
* Clients that define a launch configuration delegate extension implement the
* <code>ILaunchConfigurationDelegate</code> interface.
* </p>
*
* @see ILaunchConfigurationType
* @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate
* @see ILaunchConfigurationWorkingCopy
......@@ -512,24 +510,33 @@ public interface ILaunchConfiguration extends IAdaptable {
boolean isWorkingCopy();
/**
* Launches this configuration in the specified mode by delegating to
* this configuration's launch configuration delegate, and returns the
* resulting launch.
* Launches this configuration in the specified mode by delegating to this
* configuration's launch configuration delegate, and returns the resulting
* launch.
* <p>
* Equivalent to calling <code>launch(String, IProgressMontitor, boolean)</code>
* with a <code>build</code> flag of <code>false</code>.
* Equivalent to calling
* <code>launch(String, IProgressMontitor, boolean)</code> with a
* <code>build</code> flag of <code>false</code>.
* </p>
*
* @param mode the mode in which to launch, one of the mode constants
* defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
* @param monitor progress monitor, or <code>null</code>. A cancelable progress monitor is provided by the Job
* framework. It should be noted that the setCanceled(boolean) method should never be called on the provided
* monitor or the monitor passed to any delegates from this method; due to a limitation in the progress monitor
* framework using the setCanceled method can cause entire workspace batch jobs to be canceled, as the canceled flag
* is propagated up the top-level parent monitor. The provided monitor is not guaranteed to have been started.
* defined by <code>ILaunchManager</code> - <code>RUN_MODE</code>
* or <code>DEBUG_MODE</code>.
* @param monitor progress monitor, or <code>null</code>. A cancelable
* progress monitor is provided by the Job framework. It should
* be noted that the setCanceled(boolean) method should never be
* called on the provided monitor or the monitor passed to any
* delegates from this method; due to a limitation in the
* progress monitor framework using the setCanceled method can
* cause entire workspace batch jobs to be canceled, as the
* canceled flag is propagated up the top-level parent monitor.
* The provided monitor is not guaranteed to have been started.
* @return the resulting launch
* @exception CoreException if this method fails. Reasons include:<ul>
* <li>unable to instantiate the underlying launch configuration delegate</li>
* <li>the launch fails (in the delegate)</code>
* @exception CoreException if this method fails. Reasons include:
* <ul>
* <li>unable to instantiate the underlying launch
* configuration delegate</li>
* <li>the launch fails (in the delegate)</li>
* </ul>
*/
ILaunch launch(String mode, IProgressMonitor monitor) throws CoreException;
......
......@@ -24,13 +24,13 @@ import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
/**
* Describes and creates instances of a specific type of
* launch configuration. Launch configuration types are
* defined by extensions.
* Describes and creates instances of a specific type of launch configuration.
* Launch configuration types are defined by extensions.
* <p>
* A launch configuration type extension is defined in <code>plugin.xml</code>.
* Following is an example definition of a launch configuration
* type extension.
* Following is an example definition of a launch configuration type extension.
* </p>
*
* <pre>
* &lt;extension point="org.eclipse.debug.core.launchConfigurationTypes"&gt;
* &lt;launchConfigurationType
......@@ -43,42 +43,48 @@ import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
* &lt;/launchConfigurationType&gt;
* &lt;/extension&gt;
* </pre>
*
* The attributes are specified as follows:
* <ul>
* <li><code>id</code> specifies a unique identifier for this launch configuration
* type.</li>
* <li><code>delegate</code> specifies the fully qualified name of the java class
* that implements <code>ILaunchConfigurationDelegate</code>. Launch configuration
* instances of this type will delegate to instances of this class
* <li><code>id</code> specifies a unique identifier for this launch
* configuration type.</li>
* <li><code>delegate</code> specifies the fully qualified name of the java
* class that implements <code>ILaunchConfigurationDelegate</code>. Launch
* configuration instances of this type will delegate to instances of this class
* to perform launching.</li>
* <li><code>modes</code> specifies a comma separated list of the modes this
* type of launch configuration supports - <code>"run"</code> and/or <code>"debug"</code>.</li>
* <li><code>name</code> specifies a human readable name for this type
* of launch configuration.</li>
* type of launch configuration supports - <code>"run"</code> and/or
* <code>"debug"</code>.</li>
* <li><code>name</code> specifies a human readable name for this type of launch
* configuration.</li>
* <li><code>category</code> 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.</li>
* <li><code>sourceLocatorId</code> an optional unique identifier of a sourceLocator extension that
* is used to create the source locator for sessions launched using launch configurations
* of this type. This attribute was added in the 3.0 release.</li>
* <li><code>sourcePathComputerId</code> an optional unique identifier of a sourcePathComputer extension
* that is used to compute a default source lookup path for launch configurations of this type.
* This attribute was added in the 3.0 release.</li>
* <li><code>sourceLocatorId</code> an optional unique identifier of a
* sourceLocator extension that is used to create the source locator for
* sessions launched using launch configurations of this type. This attribute
* was added in the 3.0 release.</li>
* <li><code>sourcePathComputerId</code> an optional unique identifier of a
* sourcePathComputer extension that is used to compute a default source lookup
* path for launch configurations of this type. This attribute was added in the
* 3.0 release.</li>
* </ul>
* </p>
*
* <p>
* The <code>category</code> 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 development. Such that
* clients may access arbitrary attributes specified in launch configuration type
* extension definitions, the method <code>getAttribute</code> has also been
* added. Launch configurations that are to be recognized as standard run/debug
* launch configurations should not specify the <code>category</code> attribute.
* The <code>category</code> 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 development. Such
* that clients may access arbitrary attributes specified in launch
* configuration type extension definitions, the method
* <code>getAttribute</code> has also been added. Launch configurations that are
* to be recognized as standard run/debug launch configurations should not
* specify the <code>category</code> attribute.
* </p>
* <p>
* Clients that define a launch configuration delegate extension implement the
* <code>ILaunchConfigurationDelegate</code> interface.
* </p>
*
* @see ILaunchConfiguration
* @since 2.0
* @noimplement This interface is not intended to be implemented by clients.
......@@ -275,24 +281,25 @@ public interface ILaunchConfigurationType extends IAdaptable {
boolean isPublic();
/**
* Returns a new launch configuration working copy of this type,
* that resides in the specified container, with the given name.
* When <code>container</code> is </code>null</code>, the configuration
* will reside locally in the metadata area.
* Note: a launch configuration is not actually created until the working copy is saved.
* Returns a new launch configuration working copy of this type, that
* resides in the specified container, with the given name. When
* <code>container</code> is <code>null</code>, the configuration will
* reside locally in the metadata area. Note: a launch configuration is not
* actually created until the working copy is saved.
* <p>
* The configuration <code>name</code> parameter cannot contain file separator characters
* (sub directories) when the <code>container</code> is <code>null</code> (i.e. when the
* configuration is to be stored in the local metadata area.
* The configuration <code>name</code> parameter cannot contain file
* separator characters (sub directories) when the <code>container</code> is
* <code>null</code> (i.e. when the configuration is to be stored in the
* local metadata area.
* </p>
*
* @param container the container in which the new configuration will
* reside, or <code>null</code> if the configuration should reside
* locally with the metadata.
* reside, or <code>null</code> if the configuration should
* reside locally with the metadata.
* @param name name for the launch configuration
* @return a new launch configuration working copy instance of this type
* @exception CoreException if an instance of this type
* of launch configuration could not be created for any
* reason
* @exception CoreException if an instance of this type of launch
* configuration could not be created for any reason
*/
ILaunchConfigurationWorkingCopy newInstance(IContainer container, String name) throws CoreException;
......@@ -329,7 +336,7 @@ public interface ILaunchConfigurationType extends IAdaptable {
/**
* Returns a new launch configuration working copy of this type, that
* resides in the specified container, with the given name. When
* <code>container</code> is </code>null</code>, the configuration will
* <code>container</code> is <code>null</code>, the configuration will
* reside locally in the metadata area. Note: a launch configuration is not
* actually created until the working copy is saved.
* <p>
......
......@@ -297,12 +297,14 @@ public interface ILaunchConfigurationWorkingCopy extends ILaunchConfiguration, I
/**
* Removes the specified attribute from the this configuration and returns
* the previous value associated with the specified attribute name, or <tt>null</tt>
* if there was no mapping for the attribute. Note that for int's and booleans,
* corresponding Integer and Boolean objects are returned.
* the previous value associated with the specified attribute name, or
* <code>null</code> if there was no mapping for the attribute. Note that
* for int's and booleans, corresponding Integer and Boolean objects are
* returned.
* <p>
* This method allows non-object attributes to be removed.
* </p>
*
* @param attributeName the name of the attribute to remove
* @return previous value of the attribute or <code>null</code>
*
......
......@@ -14,13 +14,15 @@
package org.eclipse.debug.core;
/**
* A launch mode. The debug platform contributes launch modes
* for run, debug, and profile. Clients may contribute additional launch
* modes in plug-in XML via the <code>launchModes</code> extension point.
* A launch mode. The debug platform contributes launch modes for run, debug,
* and profile. Clients may contribute additional launch modes in plug-in XML
* via the <code>launchModes</code> extension point.
* <p>
* Following is an example launch mode contribution for profiling. A launch
* mode has an unique identifier specified by the <code>mode</code> attribute
* and a human readable label specified by the <code>label</code> attribute.
* Following is an example launch mode contribution for profiling. A launch mode
* has an unique identifier specified by the <code>mode</code> attribute and a
* human readable label specified by the <code>label</code> attribute.
* </p>
*
* <pre>
* &lt;extension point=&quot;org.eclipse.debug.core.launchModes&quot;&gt;
* &lt;launchMode
......@@ -29,7 +31,7 @@ package org.eclipse.debug.core;
* &lt;/launchMode&gt;
* &lt;/extension&gt;
* </pre>
* </p>
*
* @since 3.0
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
......
......@@ -16,10 +16,12 @@ package org.eclipse.debug.core;
import org.eclipse.debug.core.model.IValue;
/**
* Provides logical structure types applicable to a raw implementation value from
* a debug model. Associated with a logical structure provider extension.
* Provides logical structure types applicable to a raw implementation value
* from a debug model. Associated with a logical structure provider extension.
* <p>
* The following is an example of a logical structure provider extension:
* </p>
*
* <pre>
* &lt;extension point=&quot;org.eclipse.debug.core.logicalStructureProviders&quot;&gt;
* &lt;logicalStructureProvider
......@@ -28,15 +30,17 @@ import org.eclipse.debug.core.model.IValue;
* &lt;/logicalStructureProvider&gt;
* &lt;/extension&gt;
* </pre>
* </p>
* In the example above, the specified logical structure provider will be consulted for
* alternative logical structures for values from the <code>com.example.debug.model</code>
* debug model as they are displayed in the variables view.
* <p>
* In the example above, the specified logical structure provider will be
* consulted for alternative logical structures for values from the
* <code>com.example.debug.model</code> debug model as they are displayed in the
* variables view.
* </p>
* <p>
* Clients contributing logical structure providers must implement this
* interface.
* </p>
*
* @since 3.1
* @see org.eclipse.debug.core.ILogicalStructureType
*/
......
......@@ -17,14 +17,16 @@ import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate;
import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate2;
/**
* Provides a value representing the logical structure of a raw implementation value
* from a debug model. Logical structures are useful for navigating complex data
* structures. Logical structure types are contributed via extensions in plug-in XML,
* and provide a delegate for performing logical value computation. Logical
* structure types can be retrieved from the <code>DebugPlugin</code>.
* Provides a value representing the logical structure of a raw implementation
* value from a debug model. Logical structures are useful for navigating
* complex data structures. Logical structure types are contributed via
* extensions in plug-in XML, and provide a delegate for performing logical
* value computation. Logical structure types can be retrieved from the
* <code>DebugPlugin</code>.
* <p>
* Following is example plug-in XML to define a logical structure type.
* </p>
*
* <pre>
* &lt;extension point=&quot;org.eclipse.debug.core.logicalStructureTypes&quot;&gt;
* &lt;logicalStructureType
......@@ -37,6 +39,7 @@ import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate2;
* </pre>
* <p>
* The attributes are specified as follows:
* </p>
* <ul>
* <li>id - unique identifier for this logical structure type</li>
* <li>class - fully qualified name of class that implements
......@@ -45,15 +48,16 @@ import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate2;
* type is associated with</li>
* <li>description - description of the logical structure provided</li>
* </ul>
* </p>
* <p>
* Clients contributing logicalStructureType extensions are not intended to implement
* this interface. Rather, they provide an <code>ILogicalStructureTypeDelegate</code>
* that optionally implements <code>ILogicalStructureTypeDelegate2</code> to provide
* dynamic descriptions of logical structures.
* Since 3.1, clients contributing logicalStructureProviders extensions may implement this
* interface to return a collection of logical structure types applicable to a value.
* Clients contributing logicalStructureType extensions are not intended to
* implement this interface. Rather, they provide an
* <code>ILogicalStructureTypeDelegate</code> that optionally implements
* <code>ILogicalStructureTypeDelegate2</code> to provide dynamic descriptions
* of logical structures. Since 3.1, clients contributing
* logicalStructureProviders extensions may implement this interface to return a
* collection of logical structure types applicable to a value.
* </p>
*
* @since 3.0
* @see org.eclipse.debug.core.model.ILogicalStructureTypeDelegate
* @see org.eclipse.debug.core.ILogicalStructureProvider
......
......@@ -21,13 +21,15 @@ import org.eclipse.debug.core.model.IProcess;
* A process factory is used to override default process (<code>IProcess</code>)
* creation by the debug plug-in, and can be contributed via plug-in XML. When a
* new process is created via <code>DebugPlugin.newProcess(..)</code>, the
* launch configuration associated with the specified launch is consulted for
* a process factory attribute (<code>DebugPlugin.ATTR_PROCESS_FACTORY_ID</code>). If
* present, the associated process factory is consulted to create a process for
* the launch. If not present a default process implementation is created and
* returned by the debug plug-in.
* launch configuration associated with the specified launch is consulted for a
* process factory attribute (<code>DebugPlugin.ATTR_PROCESS_FACTORY_ID</code>).
* If present, the associated process factory is consulted to create a process
* for the launch. If not present a default process implementation is created
* and returned by the debug plug-in.
* <p>
* Following is example plug-in XML that contributes a process factory.
* </p>
*
* <pre>
* &lt;extension point="org.eclipse.debug.core.processFactories"&gt;
* &lt;processFactory
......@@ -36,16 +38,18 @@ import org.eclipse.debug.core.model.IProcess;
* &lt;/processFactory&gt;
* &lt;/extension&gt;
* </pre>
*
* The attributes are specified as follows:
* <ul>
* <li>id - a unique identifier for this extension point</li>
* <li>class - the fully qualified name of a class the implements
* <code>IProcessFactory</code></li>
* </ul>
* </p>
* <p>
* Clients contributing a process factory are intended to implement this interface.
* Clients contributing a process factory are intended to implement this
* interface.
* </p>
*
* @since 3.0
*/
......
......@@ -18,24 +18,25 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
/**
* A status handler registers to handle a specific status - error
* or otherwise. Provides a mechanism for separating core (headless)
* function from UI interaction. The debug plug-in provides a
* status handlers extension point, against which handlers can
* register for specific status codes - identified by plug-in
* identifier and plug-in specific status code. The interaction between
* an object requiring a status handler (source), and the status handler
* is defined by the source and handler.
* A status handler registers to handle a specific status - error or otherwise.
* Provides a mechanism for separating core (headless) function from UI
* interaction. The debug plug-in provides a status handlers extension point,
* against which handlers can register for specific status codes - identified by
* plug-in identifier and plug-in specific status code. The interaction between
* an object requiring a status handler (source), and the status handler is
* defined by the source and handler.
* <p>
* For example, a launch configuration delegate might encounter a timeout
* while launching an application. In this case the delegate could abort
* or, via the use of a status handler, prompt the user to continue. This
* allows the launcher to be implemented in a plug-in that does not require
* UI support, and allows another (UI) plug-in to register a handler.
* For example, a launch configuration delegate might encounter a timeout while
* launching an application. In this case the delegate could abort or, via the
* use of a status handler, prompt the user to continue. This allows the
* launcher to be implemented in a plug-in that does not require UI support, and
* allows another (UI) plug-in to register a handler.
* </p>
* <p>
* A status handler extension is defined in <code>plugin.xml</code>.
* Following is an example definition of a status handler extension.
* A status handler extension is defined in <code>plugin.xml</code>. Following
* is an example definition of a status handler extension.
* </p>
*
* <pre>
* &lt;extension point="org.eclipse.debug.core.statusHandlers"&gt;
* &lt;statusHandler
......@@ -46,21 +47,23 @@ import org.eclipse.core.runtime.IStatus;
* &lt;/statusHandler&gt;
* &lt;/extension&gt;
* </pre>
*
* The attributes are specified as follows:
* <ul>
* <li><code>id</code> specifies a unique identifier for this status handler.</li>
* <li><code>id</code> specifies a unique identifier for this status
* handler.</li>
* <li><code>class</code> specifies the fully qualified name of the Java class
* that implements <code>IStatusHandler</code>.</li>
* <li><code>plugin</code> plug-in identifier that corresponds to the
* plug-in of the status this handler is registered for (i.e.
* <li><code>plugin</code> plug-in identifier that corresponds to the plug-in of
* the status this handler is registered for (i.e.
* <code>IStatus.getPlugin()</code>).</li>
* <li><code>code</code> specifies the status code this handler
* is registered for.</li>
* <li><code>code</code> specifies the status code this handler is registered
* for.</li>
* </ul>
* </p>
* <p>
* Clients may implement this interface.
* </p>
*
* @see DebugPlugin#getStatusHandler(IStatus)
* @since 2.0
*/
......