Class EventSubProcessProcessor

java.lang.Object
io.camunda.zeebe.engine.processing.bpmn.container.EventSubProcessProcessor
All Implemented Interfaces:
BpmnElementContainerProcessor<ExecutableFlowElementContainer>, BpmnElementProcessor<ExecutableFlowElementContainer>

public final class EventSubProcessProcessor extends Object implements BpmnElementContainerProcessor<ExecutableFlowElementContainer>
  • Constructor Details

  • Method Details

    • getType

      Specified by:
      getType in interface BpmnElementProcessor<ExecutableFlowElementContainer>
      Returns:
      the class that represents the BPMN element
    • onActivate

      public Either<Failure,?> onActivate(ExecutableFlowElementContainer element, BpmnElementContext activating)
      Description copied from interface: BpmnElementProcessor
      The 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)
      Next step:
      • activating - the element is initialized
      • activated - if no incidents raised
      • complete - if no incidents raised invalid input: '&' not a wait-state.
      Specified by:
      onActivate in interface BpmnElementProcessor<ExecutableFlowElementContainer>
      Parameters:
      element - the instance of the BPMN element that is executed
      activating - process instance-related data of the element that is executed
      Returns:
      Eitherinvalid input: '<'Failure, ?> indicating the outcome of the activation attempt
    • onComplete

      public Either<Failure,?> onComplete(ExecutableFlowElementContainer element, BpmnElementContext completing)
      Description copied from interface: BpmnElementProcessor
      The 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
      Next step: none.
      Specified by:
      onComplete in interface BpmnElementProcessor<ExecutableFlowElementContainer>
      Parameters:
      element - the instance of the BPMN element that is executed
      completing - process instance-related data of the element that is executed
      Returns:
      Eitherinvalid input: '<'Failure, ?> indicating the outcome of the completion attempt
    • onTerminate

      public void onTerminate(ExecutableFlowElementContainer element, BpmnElementContext terminating)
      Description copied from interface: BpmnElementProcessor
      The 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
      Next step: none.
      Specified by:
      onTerminate in interface BpmnElementProcessor<ExecutableFlowElementContainer>
      Parameters:
      element - the instance of the BPMN element that is executed
      terminating - 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: BpmnElementContainerProcessor
      The execution path of a child element has completed.
      Specified by:
      afterExecutionPathCompleted in interface BpmnElementContainerProcessor<ExecutableFlowElementContainer>
      Parameters:
      element - the instance of the BPMN element container
      flowScopeContext - process instance-related data of the element container
      childContext - 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 flowScopeContext, BpmnElementContext childContext)
      Description copied from interface: BpmnElementContainerProcessor
      A 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:
      onChildTerminated in interface BpmnElementContainerProcessor<ExecutableFlowElementContainer>
      Parameters:
      element - the instance of the BPMN element container
      flowScopeContext - process instance-related data of the element container
      childContext - process instance-related data of the child element that is terminated