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 Detail

      • ATTR_CMDLINE

        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

        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

        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
      • ATTR_PROCESS_ID

        static final String ATTR_PROCESS_ID
        Attribute key for a common, optional, process property. The value of this attribute specifies process id, displayed in the console description or in the debug view.
        Since:
        3.19
    • Method Detail

      • getLabel

        String getLabel()
        Returns a human-readable label for this process.
        Returns:
        a label for this process
      • getLaunch

        ILaunch getLaunch()
        Returns the launch this element originated from.
        Returns:
        the launch this process is contained in
      • getStreamsProxy

        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

        void setAttribute​(String key,
                          String value)
        Sets the value of a client defined attribute.
        Parameters:
        key - the attribute key
        value - the attribute value
      • getAttribute

        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

        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