Class MultiInstanceBodyProcessor
- java.lang.Object
-
- io.zeebe.engine.processing.bpmn.container.MultiInstanceBodyProcessor
-
- All Implemented Interfaces:
BpmnElementContainerProcessor<ExecutableMultiInstanceBody>,BpmnElementProcessor<ExecutableMultiInstanceBody>
public final class MultiInstanceBodyProcessor extends Object implements BpmnElementContainerProcessor<ExecutableMultiInstanceBody>
-
-
Constructor Summary
Constructors Constructor Description MultiInstanceBodyProcessor(BpmnBehaviors bpmnBehaviors)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class<ExecutableMultiInstanceBody>getType()voidonActivated(ExecutableMultiInstanceBody element, BpmnElementContext context)The element is initialized.voidonActivating(ExecutableMultiInstanceBody element, BpmnElementContext context)The element is entered (initial step).voidonChildCompleted(ExecutableMultiInstanceBody element, BpmnElementContext flowScopeContext, BpmnElementContext childContext)A child element is completed.voidonChildTerminated(ExecutableMultiInstanceBody element, BpmnElementContext flowScopeContext, BpmnElementContext childContext)A child element is terminated.voidonCompleted(ExecutableMultiInstanceBody element, BpmnElementContext context)The element is left (final step).voidonCompleting(ExecutableMultiInstanceBody element, BpmnElementContext context)The element is going to be left.voidonEventOccurred(ExecutableMultiInstanceBody element, BpmnElementContext context)An event subscription of the element is triggered.voidonTerminated(ExecutableMultiInstanceBody element, BpmnElementContext context)The element is terminated (final step).voidonTerminating(ExecutableMultiInstanceBody element, BpmnElementContext context)The element is going to be terminated.
-
-
-
Constructor Detail
-
MultiInstanceBodyProcessor
public MultiInstanceBodyProcessor(BpmnBehaviors bpmnBehaviors)
-
-
Method Detail
-
getType
public Class<ExecutableMultiInstanceBody> getType()
- Specified by:
getTypein interfaceBpmnElementProcessor<ExecutableMultiInstanceBody>- Returns:
- the class that represents the BPMN element
-
onActivating
public void onActivating(ExecutableMultiInstanceBody element, BpmnElementContext context)
Description copied from interface:BpmnElementProcessorThe element is entered (initial step). Perform every action to initialize the element.Possible actions:
- apply input mappings
- open event subscriptions
- Specified by:
onActivatingin interfaceBpmnElementProcessor<ExecutableMultiInstanceBody>- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onActivated
public void onActivated(ExecutableMultiInstanceBody element, BpmnElementContext context)
Description copied from interface:BpmnElementProcessorThe 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)
- Specified by:
onActivatedin interfaceBpmnElementProcessor<ExecutableMultiInstanceBody>- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onCompleting
public void onCompleting(ExecutableMultiInstanceBody element, BpmnElementContext context)
Description copied from interface:BpmnElementProcessorThe element is going to be left. Perform every action to leave the element.Possible actions:
- apply output mappings
- close event subscriptions
Next step: completed.
- Specified by:
onCompletingin interfaceBpmnElementProcessor<ExecutableMultiInstanceBody>- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onCompleted
public void onCompleted(ExecutableMultiInstanceBody element, BpmnElementContext context)
Description copied from interface:BpmnElementProcessorThe 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
- Specified by:
onCompletedin interfaceBpmnElementProcessor<ExecutableMultiInstanceBody>- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onTerminating
public void onTerminating(ExecutableMultiInstanceBody element, BpmnElementContext context)
Description copied from interface:BpmnElementProcessorThe element is going to be terminated. Perform every action to terminate the element.Possible actions:
- close event subscriptions
Next step: terminated.
- Specified by:
onTerminatingin interfaceBpmnElementProcessor<ExecutableMultiInstanceBody>- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onTerminated
public void onTerminated(ExecutableMultiInstanceBody element, BpmnElementContext context)
Description copied from interface:BpmnElementProcessorThe 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
- Specified by:
onTerminatedin interfaceBpmnElementProcessor<ExecutableMultiInstanceBody>- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onEventOccurred
public void onEventOccurred(ExecutableMultiInstanceBody element, BpmnElementContext context)
Description copied from interface:BpmnElementProcessorAn 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
- Specified by:
onEventOccurredin interfaceBpmnElementProcessor<ExecutableMultiInstanceBody>- Parameters:
element- the instance of the BPMN element that is executedcontext- workflow instance-related data of the element that is executed
-
onChildCompleted
public void onChildCompleted(ExecutableMultiInstanceBody element, BpmnElementContext flowScopeContext, BpmnElementContext childContext)
Description copied from interface:BpmnElementContainerProcessorA child element is completed. Leave the element container if it has no more active child elements.- Specified by:
onChildCompletedin interfaceBpmnElementContainerProcessor<ExecutableMultiInstanceBody>- Parameters:
element- the instance of the BPMN element containerflowScopeContext- workflow instance-related data of the element containerchildContext- workflow instance-related data of the child element that is completed
-
onChildTerminated
public void onChildTerminated(ExecutableMultiInstanceBody element, BpmnElementContext flowScopeContext, BpmnElementContext childContext)
Description copied from interface:BpmnElementContainerProcessorA child element is terminated. Terminate the element container if it has no more active child elements. Or, continue with the interrupting event sub-process that was triggered and caused the termination.- Specified by:
onChildTerminatedin interfaceBpmnElementContainerProcessor<ExecutableMultiInstanceBody>- Parameters:
element- the instance of the BPMN element containerflowScopeContext- workflow instance-related data of the element containerchildContext- workflow instance-related data of the child element that is terminated
-
-