TPTP 4.6.0 Platform Project
Public API Specification

org.eclipse.hyades.execution.core
Interface IExecutor

All Superinterfaces:
IExecutionComponent
All Known Subinterfaces:
IExecutorWithProgressMonitorSupport
All Known Implementing Classes:
ExecutorSkeleton, ExecutorStub, JavaProcessExecutorSkeleton, JavaProcessExecutorStub, JavaTaskExecutorImpl, JavaTaskExecutorSkeleton, JavaTaskExecutorStub, ProcessExecutorImpl

public interface IExecutor
extends IExecutionComponent

An IExecutor class is a class that, given an IExecutableObject, is capable of launching and killing the executable represented by that IExecutableObject. It is expected that IExecutionEnvironment, IExecutor and IExecutableObject will be the standard specializations for executing different test types under the Hyades framework.


Field Summary
static java.lang.String CONTROL_EVENT_RESUME
           
static java.lang.String CONTROL_EVENT_SUSPEND
           
 
Fields inherited from interface org.eclipse.hyades.execution.core.IExecutionComponent
DEAD, INACTIVE, NOT_CONFIGURED, READY, SUSPENDED
 
Method Summary
 IExecutableObject getCompatibleExecutableObject(java.lang.String classname)
          Returns an empty instance of an IExecutableObject that is compatible with this IExecutor.
 IExecutableObject getExecutableObject()
           
 IProcessConsole getProcessConsole()
          Return the process console of the current executor
 void kill()
          Kills this process if it is active.
 void launch()
          Launches the executable on this ISession's node
 java.lang.String performControlEvent(java.lang.String controlEvent, java.lang.String[] params)
          Performs the control event specified.
 void setExecutableObject(IExecutableObject theExecutableObject)
          Set the executable object.
 boolean supportsControlEvent(java.lang.String controlEvent)
          Returns a boolean specifying whether the control event specified is supported.
 
Methods inherited from interface org.eclipse.hyades.execution.core.IExecutionComponent
addChild, addExecutionComponentStateChangeListener, fireStateChangeEvent, getChildById, getChildByName, getChildren, getId, getName, getNode, getParent, getState, getType, getVersion, handleMessage, init, removeChild, removeExecutionComponentStateChangeListener, sendMessage, setParent
 

Field Detail

CONTROL_EVENT_SUSPEND

static final java.lang.String CONTROL_EVENT_SUSPEND
See Also:
Constant Field Values

CONTROL_EVENT_RESUME

static final java.lang.String CONTROL_EVENT_RESUME
See Also:
Constant Field Values
Method Detail

launch

void launch()
            throws ExecutionComponentStateException
Launches the executable on this ISession's node

Throws:
ExecutionComponentStateException

kill

void kill()
          throws ExecutionComponentStateException
Kills this process if it is active.

Throws:
ExecutionComponentStateException

setExecutableObject

void setExecutableObject(IExecutableObject theExecutableObject)
                         throws ExecutionComponentStateException
Set the executable object. The executable object contains all information necessary to execute within the parent execution environment

Parameters:
theExecutableObject - An IExecutableObject instance which describes the executable in a manner understood by this IExecutor.
Throws:
ExecutionComponentStateException - If the IExecutor is not in a valid state to accept an IExecutableObject.

getExecutableObject

IExecutableObject getExecutableObject()

getProcessConsole

IProcessConsole getProcessConsole()
                                  throws ExecutionComponentStateException
Return the process console of the current executor

Returns:
IProcessConsole
Throws:
ExecutionComponentStateException

getCompatibleExecutableObject

IExecutableObject getCompatibleExecutableObject(java.lang.String classname)
                                                throws java.lang.ClassNotFoundException
Returns an empty instance of an IExecutableObject that is compatible with this IExecutor.

Issue: Do we want this to be the ExecutableObject (thus replacing the setExecutableObject() method), and if so, how do we know when to pass the object across the wire (since the IExecutor doing the real work won't be the same instance of IExecutor that contains this IExecutableObject.)

Returns:
an empty instance of a compatible IExecutableObject.
Throws:
java.lang.ClassNotFoundException

supportsControlEvent

boolean supportsControlEvent(java.lang.String controlEvent)
Returns a boolean specifying whether the control event specified is supported.

Parameters:
controlEvent - Contol Event in question.
Returns:
Specifies whether the control event is supported.

performControlEvent

java.lang.String performControlEvent(java.lang.String controlEvent,
                                     java.lang.String[] params)
Performs the control event specified.

Parameters:
controlEvent - Contol Event to perform.
Returns:
Error Message if error occurred. Otherwise null.

TPTP 4.6.0 Platform Project
Public API Specification