org.eclipse.debug.core.model
Class RuntimeProcess
java.lang.Object
org.eclipse.core.runtime.PlatformObject
org.eclipse.debug.core.model.RuntimeProcess
-
All Implemented Interfaces:
-
IAdaptable,
IProcess,
ITerminate
-
public class RuntimeProcess
- extends
PlatformObject
- implements
IProcess
Standard implementation of an IProcess
that wrappers a system
process (java.lang.Process
).
Clients may subclass this class. Clients that need to replace the implementation
of a streams proxy associated with an IProcess
should subclass this
class. Generally clients should not instantiate this class directly, but should
instead call DebugPlugin.newProcess(...)
, which can delegate to an
IProcessFactory
if one is referenced by the associated launch configuration.
-
Since:
- 3.0
-
See Also:
-
IProcess
,
IProcessFactory
Constructor Summary
|
RuntimeProcess
(
ILaunch launch,
Process process,
String name,
Map attributes)
Constructs a RuntimeProcess on the given system process
with the given name, adding this process to the given
launch. |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
RuntimeProcess
public RuntimeProcess(
ILaunch launch,
Process process,
String name,
Map attributes)
- Constructs a RuntimeProcess on the given system process
with the given name, adding this process to the given
launch.
-
Parameters:
-
launch
- the parent launch of this process -
process
- underlying system process -
name
- the label used for this process -
attributes
- map of attributes used to initialize the attributes
of this process, or null
if none
canTerminate
public boolean canTerminate()
-
Description copied from interface:
ITerminate
- Returns whether this element can be terminated.
-
-
Specified by:
-
canTerminate
in interface
ITerminate
-
-
Returns:
- whether this element can be terminated
-
See Also:
-
ITerminate.canTerminate()
getLabel
public
String getLabel()
-
Description copied from interface:
IProcess
- Returns a human-readable label for this process.
-
-
Specified by:
-
getLabel
in interface
IProcess
-
-
Returns:
- a label for this process
-
See Also:
-
IProcess.getLabel()
setLaunch
protected void setLaunch(
ILaunch launch)
- Sets the launch this process is contained in
-
-
-
Parameters:
-
launch
- the launch this process is contained in
getLaunch
public
ILaunch getLaunch()
-
Description copied from interface:
IProcess
- Returns the launch this element originated from.
-
-
Specified by:
-
getLaunch
in interface
IProcess
-
-
Returns:
- the launch this process is contained in
-
See Also:
-
IProcess.getLaunch()
getSystemProcess
protected
Process getSystemProcess()
- Returns the underlying system process associated with this process.
-
-
-
Returns:
- system process
isTerminated
public boolean isTerminated()
-
Description copied from interface:
ITerminate
- Returns whether this element is terminated.
-
-
Specified by:
-
isTerminated
in interface
ITerminate
-
-
Returns:
- whether this element is terminated
-
See Also:
-
ITerminate.isTerminated()
terminate
public void terminate()
throws
DebugException
-
Description copied from interface:
ITerminate
- Causes this element to terminate, generating a
TERMINATE
event.
Implementations may be blocking or non-blocking.
-
-
Specified by:
-
terminate
in interface
ITerminate
-
-
Throws:
-
DebugException
- on failure. Reasons include:
- TARGET_REQUEST_FAILED - The request failed in the target
- NOT_SUPPORTED - The capability is not supported by the target
-
See Also:
-
ITerminate.terminate()
terminated
protected void terminated()
- Notification that the system process associated with this process
has terminated.
-
-
getStreamsProxy
public
IStreamsProxy getStreamsProxy()
-
Description copied from interface:
IProcess
- Returns a proxy to the standard input, output, and error streams
for this process, or
null
if not supported.
-
-
Specified by:
-
getStreamsProxy
in interface
IProcess
-
-
Returns:
- a streams proxy, or
null
if not supported -
See Also:
-
IProcess.getStreamsProxy()
createStreamsProxy
protected
IStreamsProxy createStreamsProxy()
- Creates and returns the streams proxy associated with this process.
-
-
-
Returns:
- streams proxy
fireCreationEvent
protected void fireCreationEvent()
- Fires a creation event.
-
-
fireEvent
protected void fireEvent(
DebugEvent event)
- Fires the given debug event.
-
-
-
Parameters:
-
event
- debug event to fire
fireTerminateEvent
protected void fireTerminateEvent()
- Fires a terminate event.
-
-
fireChangeEvent
protected void fireChangeEvent()
- Fires a change event.
-
-
setAttribute
public void setAttribute(
String key,
String value)
-
Description copied from interface:
IProcess
- Sets the value of a client defined attribute.
-
-
Specified by:
-
setAttribute
in interface
IProcess
-
-
Parameters:
-
key
- the attribute key -
value
- the attribute value -
See Also:
-
IProcess.setAttribute(String, String)
getAttribute
public
String getAttribute(
String key)
-
Description copied from interface:
IProcess
- Returns the value of a client defined attribute.
-
-
Specified by:
-
getAttribute
in interface
IProcess
-
-
Parameters:
-
key
- the attribute key
-
Returns:
- value the String attribute value, or
null
if undefined -
See Also:
-
IProcess.getAttribute(String)
getAdapter
public
Object getAdapter(
Class adapter)
-
Description copied from class:
PlatformObject
- Returns an object which is an instance of the given class
associated with this object. Returns
null
if
no such object can be found.
This implementation of the method declared by IAdaptable
passes the request along to the platform's adapter manager; roughly
Platform.getAdapterManager().getAdapter(this, adapter)
.
Subclasses may override this method (however, if they do so, they
should invoke the method on their superclass to ensure that the
Platform's adapter manager is consulted).
-
-
Specified by:
-
getAdapter
in interface
IAdaptable
-
Overrides:
-
getAdapter
in class
PlatformObject
-
-
Parameters:
-
adapter
- the class to adapt to
-
Returns:
- the adapted object or
null
-
See Also:
-
IAdaptable.getAdapter(Class)
getExitValue
public int getExitValue()
throws
DebugException
-
Description copied from interface:
IProcess
- Returns the exit value of this process. Conventionally, 0 indicates
normal termination.
-
-
Specified by:
-
getExitValue
in interface
IProcess
-
-
Returns:
- the exit value of this process
-
Throws:
-
DebugException
- if this process has not yet terminated -
See Also:
-
IProcess.getExitValue()
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.