When creating an execution engine, you are required to implement three abstract methods in the Subclass of ExecutionEngine (see JavaDoc for more details). These abstract methods are as follows
public abstract class ExecutionEngine { ... public abstract void init(Element element); public abstract void execute(Element element); public abstract void onClose(); ... }
API developers can insert any desired code into the above abstract methods and get the events when the execution engine is initialized, executed, and terminated.
You can execute the following code to create a MyExecutionEngine class
public class MyExecutionEngine extends ExecutionEngine { public MyExecutionEngine(ExecutionEngineDescriptor engineDescriptor) { super(engineDescriptor); } @Override public void execute(Element element) { ... } @Override public void init(Element element) { Project project = Project.getProject(element); // add engine listener if needed EngineListener listener = new MyEngineListener(project); addEngineListener(listener); } @Override public void onClose() { ... } }
The created class MyExecutionEngine must be returned from createEngine() of its descriptor as defined in Creating an execution engine descriptor.