Interface BpmnElementProcessor<T extends ExecutableFlowElement>

    • Method Detail

      • getType

        Class<T> getType()
        Returns:
        the class that represents the BPMN element
      • onActivate

        default void onActivate​(T element,
                                BpmnElementContext context)
        The element is about to be entered. Perform every action to initialize and activate the element.

        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 & not a wait-state.
        Parameters:
        element - the instance of the BPMN element that is executed
        context - process instance-related data of the element that is executed
      • onComplete

        default void onComplete​(T element,
                                BpmnElementContext context)
        The element is going to be left. Perform every action to leave the element and continue with the next element.

        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.
        Parameters:
        element - the instance of the BPMN element that is executed
        context - process instance-related data of the element that is executed
      • onTerminate

        default void onTerminate​(T element,
                                 BpmnElementContext context)
        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.
        Parameters:
        element - the instance of the BPMN element that is executed
        context - process instance-related data of the element that is executed