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 TypeMethodDescriptionvoidactivateChildInstance(BpmnElementContext context, ExecutableFlowElement childElement) voidactivateChildInstancesInBatches(BpmnElementContext context, int amount) Activate a given amount of children of a multi-instance element.longactivateChildInstanceWithKey(BpmnElementContext context, ExecutableFlowElement childElement) voidactivateElementInstanceInFlowScope(BpmnElementContext context, ExecutableFlowElement element) voidafterExecutionPathCompleted(ExecutableFlowElement element, BpmnElementContext childContext, Boolean satisfiesCompletionCondition) beforeExecutionPathCompleted(ExecutableFlowElement element, BpmnElementContext childContext) voidcompleteElement(BpmnElementContext context) longcreateChildProcessInstance(DeployedProcess process, BpmnElementContext context) voidonCalledProcessCompleted(BpmnElementContext childContext, BpmnElementContext parentInstanceContext) voidonCalledProcessTerminated(BpmnElementContext childContext, BpmnElementContext parentInstanceContext) onElementActivating(ExecutableFlowElement element, BpmnElementContext childContext) voidonElementTerminated(ExecutableFlowElement element, BpmnElementContext childContext) <T extends ExecutableFlowNode>
voidtakeOutgoingSequenceFlows(T element, BpmnElementContext context) voidtakeSequenceFlow(BpmnElementContext context, ExecutableSequenceFlow sequenceFlow) booleanTerminate all child instances of the given scope.<T extends ExecutableFlowElement>
voidterminateChildProcessInstance(BpmnElementContainerProcessor<T> containerProcessor, T element, BpmnElementContext context) voidterminateElement(BpmnElementContext context) transitionToActivated(BpmnElementContext context, BpmnEventType eventType) transitionToActivating(BpmnElementContext context) <T extends ExecutableFlowNode>
Either<Failure, BpmnElementContext> transitionToCompleted(T element, BpmnElementContext context) transitionToCompleting(BpmnElementContext context) transitionToTerminated(BpmnElementContext context, BpmnEventType eventType)
-
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
public BpmnElementContext transitionToActivated(BpmnElementContext context, BpmnEventType eventType) - 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
public BpmnElementContext transitionToTerminated(BpmnElementContext context, BpmnEventType eventType) - 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:
trueif 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)
-