Class SubProcessProcessor
- All Implemented Interfaces:
BpmnElementContainerProcessor<ExecutableFlowElementContainer>,BpmnElementProcessor<ExecutableFlowElementContainer>
-
Field Summary
Fields inherited from interface io.camunda.zeebe.engine.processing.bpmn.BpmnElementProcessor
SUCCESS -
Constructor Summary
ConstructorsConstructorDescriptionSubProcessProcessor(BpmnBehaviors bpmnBehaviors, BpmnStateTransitionBehavior stateTransitionBehavior) -
Method Summary
Modifier and TypeMethodDescriptionvoidafterExecutionPathCompleted(ExecutableFlowElementContainer element, BpmnElementContext flowScopeContext, BpmnElementContext childContext, Boolean satisfiesCompletionCondition) The execution path of a child element has completed.finalizeActivation(ExecutableFlowElementContainer element, BpmnElementContext context) Finalizes the activation of the BPMN element.finalizeCompletion(ExecutableFlowElementContainer element, BpmnElementContext context) Finalizes the completion of the BPMN element.getType()onActivate(ExecutableFlowElementContainer element, BpmnElementContext activating) The element is about to be entered.voidonChildTerminated(ExecutableFlowElementContainer element, BpmnElementContext subProcessContext, BpmnElementContext childContext) A child element is terminated.onComplete(ExecutableFlowElementContainer element, BpmnElementContext completing) The element is going to be left.voidonTerminate(ExecutableFlowElementContainer element, BpmnElementContext terminating) The element is going to be terminated.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.camunda.zeebe.engine.processing.bpmn.BpmnElementContainerProcessor
beforeExecutionPathCompleted, onChildActivating, onChildCompleting
-
Constructor Details
-
SubProcessProcessor
public SubProcessProcessor(BpmnBehaviors bpmnBehaviors, BpmnStateTransitionBehavior stateTransitionBehavior)
-
-
Method Details
-
getType
- Specified by:
getTypein interfaceBpmnElementProcessor<ExecutableFlowElementContainer>- Returns:
- the class that represents the BPMN element
-
onActivate
public Either<Failure,?> onActivate(ExecutableFlowElementContainer element, BpmnElementContext activating) Description copied from interface:BpmnElementProcessorThe element is about to be entered. Perform every action to initialize and activate the element.This method returns an Eitherinvalid input: '<'Failure, ?> type, indicating the outcome of the activation attempt. A right value indicates success, while a left value (Failure) indicates that an error occurred during activation.
If the element is a wait-state (i.e. it is waiting for an event or an external trigger) then it is waiting after this step to continue. Otherwise, it continues directly to the next step.
Possible actions:
- apply input mappings
- open event subscriptions
- initialize child elements - if the element is a container (e.g. a sub-process)
- activating - the element is initialized
- activated - if no incidents raised
- complete - if no incidents raised invalid input: '&' not a wait-state.
- Specified by:
onActivatein interfaceBpmnElementProcessor<ExecutableFlowElementContainer>- Parameters:
element- the instance of the BPMN element that is executedactivating- process instance-related data of the element that is executed- Returns:
- Eitherinvalid input: '<'Failure, ?> indicating the outcome of the activation attempt
-
finalizeActivation
public Either<Failure,?> finalizeActivation(ExecutableFlowElementContainer element, BpmnElementContext context) Description copied from interface:BpmnElementProcessorFinalizes the activation of the BPMN element. This method is invoked after the element has been initialized and activated, ensuring that any additional steps required to fully establish the element's active state are completed.This method is typically invoked after the processing of START Execution Listeners.
- Specified by:
finalizeActivationin interfaceBpmnElementProcessor<ExecutableFlowElementContainer>- Parameters:
element- the instance of the BPMN element that is executedcontext- process instance-related data of the element that is executed- Returns:
- Eitherinvalid input: '<'Failure, ?> indicating the outcome of the finalize activation attempt
-
onComplete
public Either<Failure,?> onComplete(ExecutableFlowElementContainer element, BpmnElementContext completing) Description copied from interface:BpmnElementProcessorThe element is going to be left. Perform every action to leave the element and continue with the next element.This method returns an Eitherinvalid input: '<'Failure, ?> type, indicating the outcome of the completion attempt. A right value indicates success, while a left value (Failure) indicates that an error occurred during the element's completion.
Possible actions:
- apply output mappings
- close event subscriptions
- take outgoing sequence flows - if any
- continue with parent element - if no outgoing sequence flows
- clean up the state
- Specified by:
onCompletein interfaceBpmnElementProcessor<ExecutableFlowElementContainer>- Parameters:
element- the instance of the BPMN element that is executedcompleting- process instance-related data of the element that is executed- Returns:
- Eitherinvalid input: '<'Failure, ?> indicating the outcome of the completion attempt
-
finalizeCompletion
public Either<Failure,?> finalizeCompletion(ExecutableFlowElementContainer element, BpmnElementContext context) Description copied from interface:BpmnElementProcessorFinalizes the completion of the BPMN element. This method is called when the element has finished executing its main behavior and is ready to transition to a completed state.This method is typically invoked after the processing of END Execution Listeners.
- Specified by:
finalizeCompletionin interfaceBpmnElementProcessor<ExecutableFlowElementContainer>- Parameters:
element- the instance of the BPMN element that is executedcontext- process instance-related data of the element that is executed- Returns:
- Eitherinvalid input: '<'Failure, ?> indicating the outcome of the finalize completion attempt
-
onTerminate
Description copied from interface:BpmnElementProcessorThe element is going to be terminated. Perform every action to terminate the element and continue with the element that caused the termination (e.g. the triggered boundary event).Possible actions:
- close event subscriptions
- 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:
onTerminatein interfaceBpmnElementProcessor<ExecutableFlowElementContainer>- Parameters:
element- the instance of the BPMN element that is executedterminating- process instance-related data of the element that is executed
-
afterExecutionPathCompleted
public void afterExecutionPathCompleted(ExecutableFlowElementContainer element, BpmnElementContext flowScopeContext, BpmnElementContext childContext, Boolean satisfiesCompletionCondition) Description copied from interface:BpmnElementContainerProcessorThe execution path of a child element has completed.- Specified by:
afterExecutionPathCompletedin interfaceBpmnElementContainerProcessor<ExecutableFlowElementContainer>- Parameters:
element- the instance of the BPMN element containerflowScopeContext- process instance-related data of the element containerchildContext- process instance-related data of the child element that is completed. At this point in time the element has already been removed from the state.satisfiesCompletionCondition- the evaluation result of completion condition
-
onChildTerminated
public void onChildTerminated(ExecutableFlowElementContainer element, BpmnElementContext subProcessContext, 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<ExecutableFlowElementContainer>- Parameters:
element- the instance of the BPMN element containersubProcessContext- process instance-related data of the element containerchildContext- process instance-related data of the child element that is terminated
-