Package io.zeebe.engine.processing.bpmn
Interface BpmnElementProcessor<T extends ExecutableFlowElement>
-
- Type Parameters:
T- the type that represents the BPMN element
- All Known Subinterfaces:
BpmnElementContainerProcessor<T>
- All Known Implementing Classes:
BoundaryEventProcessor,CallActivityProcessor,EndEventProcessor,EventBasedGatewayProcessor,ExclusiveGatewayProcessor,IntermediateCatchEventProcessor,MultiInstanceBodyProcessor,ParallelGatewayProcessor,ProcessProcessor,ReceiveTaskProcessor,SequenceFlowProcessor,ServiceTaskProcessor,StartEventProcessor,SubProcessProcessor
public interface BpmnElementProcessor<T extends ExecutableFlowElement>The business logic of a BPMN element.The execution of an element is divided into multiple steps that represents the lifecycle of the element. Each step defines a set of actions that can be performed in this step. The transition to the next step must be triggered explicitly in the current step.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Class<T>getType()voidonActivated(T element, BpmnElementContext context)The element is initialized.voidonActivating(T element, BpmnElementContext context)The element is entered (initial step).voidonCompleted(T element, BpmnElementContext context)The element is left (final step).voidonCompleting(T element, BpmnElementContext context)The element is going to be left.voidonEventOccurred(T element, BpmnElementContext context)An event subscription of the element is triggered.voidonTerminated(T element, BpmnElementContext context)The element is terminated (final step).voidonTerminating(T element, BpmnElementContext context)The element is going to be terminated.
-
-
-
Method Detail
-
onActivating
void onActivating(T element, BpmnElementContext context)
The element is entered (initial step). Perform every action to initialize the element.Possible actions:
- apply input mappings
- open event subscriptions
- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onActivated
void onActivated(T element, BpmnElementContext context)
The element is initialized. If the element is a wait-state (i.e. it is waiting for an event or an external trigger) then it is waiting in this step to continue. Otherwise, it continues directly to the next step.Possible actions:
- initialize child elements - if the element is a container (e.g. a sub-process)
- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onCompleting
void onCompleting(T element, BpmnElementContext context)
The element is going to be left. Perform every action to leave the element.Possible actions:
- apply output mappings
- close event subscriptions
Next step: completed.
- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onCompleted
void onCompleted(T element, BpmnElementContext context)
The element is left (final step). Continue with the next element.Possible actions:
- take outgoing sequence flows - if any
- continue with parent element - if no outgoing sequence flows
- clean up the state
- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onTerminating
void onTerminating(T element, BpmnElementContext context)
The element is going to be terminated. Perform every action to terminate the element.Possible actions:
- close event subscriptions
Next step: terminated.
- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onTerminated
void onTerminated(T element, BpmnElementContext context)
The element is terminated (final step). Continue with the element that caused the termination (e.g. the triggered boundary event).Possible actions:
- resolve incidents
- activate the triggered boundary event - if any
- activate the triggered event sub-process - if any
- continue with parent element
- clean up the state
- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onEventOccurred
void onEventOccurred(T element, BpmnElementContext context)
An event subscription of the element is triggered. Leave the element if it waited for this event to continue. Terminate the element if the event belongs to an interrupting boundary event. Or, continue with the boundary event if it is a non-interrupting one.Possible actions:
- activate the triggered boundary event - if any
- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
-