Eclipse Platform
Release 3.1

org.eclipse.debug.core.model
Interface IProcess

All Superinterfaces:
IAdaptable, ITerminate
All Known Implementing Classes:
RuntimeProcess

public interface IProcess
extends IAdaptable, ITerminate

A process represents a program running in normal (non-debug) mode. Processes support setting and getting of client defined attributes. This way, clients can annotate a process with any extra information important to them. For example, classpath annotations, or command line arguments used to launch the process may be important to a client.

Clients may implement this interface, however, the debug plug-in provides an implementation of this interface for a java.lang.Process.

See Also:
DebugPlugin.newProcess(ILaunch, Process, String)

Field Summary
static String ATTR_CMDLINE
          Attribute key for a common, optional, process property.
static String ATTR_PROCESS_LABEL
          Attribute key for a common, optional, process property.
static String ATTR_PROCESS_TYPE
          Attribute key for a common, optional, process property.
 
Method Summary
 String getAttribute(String key)
          Returns the value of a client defined attribute.
 int getExitValue()
          Returns the exit value of this process.
 String getLabel()
          Returns a human-readable label for this process.
 ILaunch getLaunch()
          Returns the launch this element originated from.
 IStreamsProxy getStreamsProxy()
          Returns a proxy to the standard input, output, and error streams for this process, or null if not supported.
 void setAttribute(String key, String value)
          Sets the value of a client defined attribute.
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 
Methods inherited from interface org.eclipse.debug.core.model.ITerminate
canTerminate, isTerminated, terminate
 

Field Detail

ATTR_CMDLINE

public static final String ATTR_CMDLINE
Attribute key for a common, optional, process property. The value of this attribute is the command line a process was launched with.

Since:
2.1

ATTR_PROCESS_TYPE

public static final String ATTR_PROCESS_TYPE
Attribute key for a common, optional, process property. The value of this attribute is an identifier for the type of this process. Process types are client defined - whoever creates a process may define its type. For example, a process type could be "java", "javadoc", or "ant".

Since:
2.1

ATTR_PROCESS_LABEL

public static final String ATTR_PROCESS_LABEL
Attribute key for a common, optional, process property. The value of this attribute specifies an alternate dynamic label for a process, displayed by the console.

Since:
3.0
Method Detail

getLabel

public String getLabel()
Returns a human-readable label for this process.

Returns:
a label for this process

getLaunch

public ILaunch getLaunch()
Returns the launch this element originated from.

Returns:
the launch this process is contained in

getStreamsProxy

public IStreamsProxy getStreamsProxy()
Returns a proxy to the standard input, output, and error streams for this process, or null if not supported.

Returns:
a streams proxy, or null if not supported

setAttribute

public void setAttribute(String key,
                         String value)
Sets the value of a client defined attribute.

Parameters:
key - the attribute key
value - the attribute value

getAttribute

public String getAttribute(String key)
Returns the value of a client defined attribute.

Parameters:
key - the attribute key
Returns:
value the String attribute value, or null if undefined

getExitValue

public int getExitValue()
                 throws DebugException
Returns the exit value of this process. Conventionally, 0 indicates normal termination.

Returns:
the exit value of this process
Throws:
DebugException - if this process has not yet terminated

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.