Class EventTriggerBehavior


  • public class EventTriggerBehavior
    extends Object
    • Method Detail

      • unsubscribeFromEvents

        public void unsubscribeFromEvents​(BpmnElementContext context)
      • triggerEventSubProcess

        public void triggerEventSubProcess​(ExecutableStartEvent startEvent,
                                           long flowScopeElementInstanceKey,
                                           ProcessInstanceRecord recordValue,
                                           org.agrona.DirectBuffer variables)
      • triggeringProcessEvent

        public long triggeringProcessEvent​(long processDefinitionKey,
                                           long processInstanceKey,
                                           long eventScopeKey,
                                           org.agrona.DirectBuffer catchEventId,
                                           org.agrona.DirectBuffer variables)
        Triggers a process by updating the state with a new ProcessEventIntent.TRIGGERING event.

        NOTE: this method assumes that the caller already verified that the target can accept new events!

        Parameters:
        processDefinitionKey - the event's corresponding process definition key
        processInstanceKey - the event's corresponding process instance key
        eventScopeKey - the event's scope key, which used to index the trigger in EventScopeInstanceState
        catchEventId - the ID of the element which should be triggered by the event
        variables - the variables/payload of the event (can be empty)
        Returns:
        the key of the process event
      • processEventTriggered

        public void processEventTriggered​(long eventTriggerKey,
                                          long processDefinitionKey,
                                          long processInstanceKey,
                                          long eventScopeKey,
                                          org.agrona.DirectBuffer catchEventId)
        Marks a process to be triggered by updating the state with a new ProcessEventIntent.TRIGGERED event.
        Parameters:
        processDefinitionKey - the process instance key of the event trigger
        processInstanceKey - the process instance key of the event trigger
        eventScopeKey - the event's scope key, which is used as identifier for the event trigger
        catchEventId - the ID of the element which was triggered by the event
      • activateTriggeredEvent

        public void activateTriggeredEvent​(long processEventKey,
                                           ExecutableFlowElement triggeredEvent,
                                           long eventScopeKey,
                                           long flowScopeKey,
                                           ProcessInstanceRecord elementRecord,
                                           org.agrona.DirectBuffer variables)