Class BpmnStateTransitionBehavior
java.lang.Object
io.camunda.zeebe.engine.processing.bpmn.behavior.BpmnStateTransitionBehavior
-
Constructor Summary
ConstructorsConstructorDescriptionBpmnStateTransitionBehavior
(KeyGenerator keyGenerator, BpmnStateBehavior stateBehavior, ProcessEngineMetrics metrics, Function<BpmnElementType, BpmnElementContainerProcessor<ExecutableFlowElement>> processorLookUp, Writers writers) -
Method Summary
Modifier and TypeMethodDescriptionvoid
activateChildInstance
(BpmnElementContext context, ExecutableFlowElement childElement) void
activateChildInstancesInBatches
(BpmnElementContext context, int amount) Activate a given amount of children of a multi-instance element.long
activateChildInstanceWithKey
(BpmnElementContext context, ExecutableFlowElement childElement) void
activateElementInstanceInFlowScope
(BpmnElementContext context, ExecutableFlowElement element) void
afterExecutionPathCompleted
(ExecutableFlowElement element, BpmnElementContext childContext, Boolean satisfiesCompletionCondition) beforeExecutionPathCompleted
(ExecutableFlowElement element, BpmnElementContext childContext) void
completeElement
(BpmnElementContext context) long
createChildProcessInstance
(DeployedProcess process, BpmnElementContext context) void
onCalledProcessCompleted
(BpmnElementContext childContext, BpmnElementContext parentInstanceContext) void
onCalledProcessTerminated
(BpmnElementContext childContext, BpmnElementContext parentInstanceContext) onElementActivating
(ExecutableFlowElement element, BpmnElementContext childContext) void
onElementTerminated
(ExecutableFlowElement element, BpmnElementContext childContext) <T extends ExecutableFlowNode>
voidtakeOutgoingSequenceFlows
(T element, BpmnElementContext context) void
takeSequenceFlow
(BpmnElementContext context, ExecutableSequenceFlow sequenceFlow) boolean
Terminate all child instances of the given scope.<T extends ExecutableFlowElement>
voidterminateChildProcessInstance
(BpmnElementContainerProcessor<T> containerProcessor, T element, BpmnElementContext context) void
terminateElement
(BpmnElementContext context) transitionToActivated
(BpmnElementContext context) transitionToActivating
(BpmnElementContext context) <T extends ExecutableFlowNode>
Either<Failure,BpmnElementContext> transitionToCompleted
(T element, BpmnElementContext context) transitionToCompleting
(BpmnElementContext context) transitionToTerminated
(BpmnElementContext context)
-
Constructor Details
-
BpmnStateTransitionBehavior
public BpmnStateTransitionBehavior(KeyGenerator keyGenerator, BpmnStateBehavior stateBehavior, ProcessEngineMetrics metrics, Function<BpmnElementType, BpmnElementContainerProcessor<ExecutableFlowElement>> processorLookUp, Writers writers)
-
-
Method Details
-
transitionToActivating
- Returns:
- context with updated intent
-
transitionToActivated
- Returns:
- context with updated intent
-
transitionToCompleting
- Returns:
- context with updated intent
-
transitionToCompleted
public <T extends ExecutableFlowNode> Either<Failure,BpmnElementContext> transitionToCompleted(T element, BpmnElementContext context) - Returns:
- context with updated intent
-
transitionToTerminating
- Returns:
- context with updated intent
-
transitionToTerminated
- Returns:
- context with updated intent
-
takeSequenceFlow
-
completeElement
-
terminateElement
-
activateChildInstance
-
activateChildInstanceWithKey
public long activateChildInstanceWithKey(BpmnElementContext context, ExecutableFlowElement childElement) -
activateChildInstancesInBatches
Activate a given amount of children of a multi-instance element.- Parameters:
context
- the context of the multi-instance elementamount
- the amount of children for which we will write an activate command
-
activateElementInstanceInFlowScope
public void activateElementInstanceInFlowScope(BpmnElementContext context, ExecutableFlowElement element) -
terminateChildInstances
Terminate all child instances of the given scope. Terminating is done in batches. It is triggered by writing the ProcessInstanceBatch TERMINATE command.- Parameters:
context
- the scope to terminate the child instances of- Returns:
true
if the scope has no active child instances
-
takeOutgoingSequenceFlows
public <T extends ExecutableFlowNode> void takeOutgoingSequenceFlows(T element, BpmnElementContext context) -
beforeExecutionPathCompleted
public Either<Failure,?> beforeExecutionPathCompleted(ExecutableFlowElement element, BpmnElementContext childContext) -
onCalledProcessCompleted
public void onCalledProcessCompleted(BpmnElementContext childContext, BpmnElementContext parentInstanceContext) -
onCalledProcessTerminated
public void onCalledProcessTerminated(BpmnElementContext childContext, BpmnElementContext parentInstanceContext) -
afterExecutionPathCompleted
public void afterExecutionPathCompleted(ExecutableFlowElement element, BpmnElementContext childContext, Boolean satisfiesCompletionCondition) -
onElementTerminated
-
onElementActivating
public Either<Failure,?> onElementActivating(ExecutableFlowElement element, BpmnElementContext childContext) -
createChildProcessInstance
-
terminateChildProcessInstance
public <T extends ExecutableFlowElement> void terminateChildProcessInstance(BpmnElementContainerProcessor<T> containerProcessor, T element, BpmnElementContext context)
-