Node instance structures
jBPM6 uses a node-instance-based approach to determine what steps are being executed by the process instance. This means, for every active step in the process, a node instance object exists in the process instance. When the step is completed, the node instance is removed. This allows us to have a list of active steps in the process instance that are accessible by jBPM6 from the getNodeInstances
method available from the NodeInstanceContainer
interface. The following code shows a simplification of the methods of most of the node instance implementations:
public interface NodeInstance { public ProcessInstance getProcessInstance() { ... } public long getId() { ... } public long getNodeId() { ... } public void trigger(NodeInstance from, String type) { ... } public void cancel() { ... } }
Here, you can see that node instance objects have methods to trigger the execution of a particular step or to cancel it from the outside. It also has an identifier for itself...