Class DbEventScopeInstanceState

java.lang.Object
io.camunda.zeebe.engine.state.instance.DbEventScopeInstanceState
All Implemented Interfaces:
EventScopeInstanceState, MutableEventScopeInstanceState

public final class DbEventScopeInstanceState extends Object implements MutableEventScopeInstanceState
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    canTriggerEvent(long eventScopeKey, org.agrona.DirectBuffer elementId)
    Checks if the event scope can be triggered for the given event.
    void
    createInstance(long eventScopeKey, Collection<org.agrona.DirectBuffer> interruptingElementIds, Collection<org.agrona.DirectBuffer> boundaryElementIds)
    Creates a new event scope instance in the state.
    void
    deleteInstance(long eventScopeKey)
    Delete an event scope from the state.
    void
    deleteTrigger(long eventScopeKey, long eventKey)
    Deletes an event trigger by key and scope key.
    getInstance(long eventScopeKey)
    Returns a event scope instance by key or null if none exists with this key.
    peekEventTrigger(long eventScopeKey)
    Returns the next event trigger for the event scope or null if none exists.
    pollEventTrigger(long eventScopeKey)
    Returns the next event trigger for the event scope or null if none exists.
    void
    triggerEvent(long eventScopeKey, long eventKey, org.agrona.DirectBuffer elementId, org.agrona.DirectBuffer variables, long processInstanceKey)
    Creates a new event trigger for the given event scope.
    void
    triggerStartEvent(long processDefinitionKey, long eventKey, org.agrona.DirectBuffer elementId, org.agrona.DirectBuffer variables, long processInstanceKey)
    Creates an event trigger for a process start event.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • createInstance

      public void createInstance(long eventScopeKey, Collection<org.agrona.DirectBuffer> interruptingElementIds, Collection<org.agrona.DirectBuffer> boundaryElementIds)
      Description copied from interface: MutableEventScopeInstanceState
      Creates a new event scope instance in the state. The event scope is interrupted if one of the interrupting elements is triggered. An interrupted event scope can not be triggered by other interrupting or non-interrupting events, except boundary events. After a interrupting boundary event is triggered, no other event, including boundary events, can be triggered for the event scope.
      Specified by:
      createInstance in interface MutableEventScopeInstanceState
      Parameters:
      eventScopeKey - the event scope key
      interruptingElementIds - element IDs that interrupt the event scope
      boundaryElementIds - element IDs of boundary events
    • deleteInstance

      public void deleteInstance(long eventScopeKey)
      Description copied from interface: MutableEventScopeInstanceState
      Delete an event scope from the state. Does not fail in case the scope does not exist.
      Specified by:
      deleteInstance in interface MutableEventScopeInstanceState
      Parameters:
      eventScopeKey - the key of the event scope to delete
    • pollEventTrigger

      public EventTrigger pollEventTrigger(long eventScopeKey)
      Description copied from interface: MutableEventScopeInstanceState
      Returns the next event trigger for the event scope or null if none exists. This will remove the polled event trigger from the state if it exists.
      Specified by:
      pollEventTrigger in interface MutableEventScopeInstanceState
      Parameters:
      eventScopeKey - the key of the event scope
      Returns:
      the next event trigger or null if none exist
    • triggerEvent

      public void triggerEvent(long eventScopeKey, long eventKey, org.agrona.DirectBuffer elementId, org.agrona.DirectBuffer variables, long processInstanceKey)
      Description copied from interface: MutableEventScopeInstanceState
      Creates a new event trigger for the given event scope. Ignores the trigger if the event scope doesn't exist or if the event can be triggered in the scope (e.g. the scope is interrupted). Use EventScopeInstanceState.canTriggerEvent(long, DirectBuffer) to check if the event can be triggered before calling this method.
      Specified by:
      triggerEvent in interface MutableEventScopeInstanceState
      Parameters:
      eventScopeKey - the key of the event scope the event is triggered in
      eventKey - the key of the event record (used for ordering)
      elementId - the id of the element which should be triggered, e.g. boundary event
      variables - the variables of the occurred event, i.e. message variables
      processInstanceKey - the key of the process instance this event is a part of
    • triggerStartEvent

      public void triggerStartEvent(long processDefinitionKey, long eventKey, org.agrona.DirectBuffer elementId, org.agrona.DirectBuffer variables, long processInstanceKey)
      Description copied from interface: MutableEventScopeInstanceState
      Creates an event trigger for a process start event. Uses the process definition key as the scope key of the trigger.
      Specified by:
      triggerStartEvent in interface MutableEventScopeInstanceState
      Parameters:
      processDefinitionKey - the key of the process definition a new instance should be created of
      eventKey - the key of the event record (used for ordering)
      elementId - the id of the start event which should be triggered
      variables - the variables of the occurred event, i.e. message variables
      processInstanceKey - the key of the process instance this event is a part of
    • deleteTrigger

      public void deleteTrigger(long eventScopeKey, long eventKey)
      Description copied from interface: MutableEventScopeInstanceState
      Deletes an event trigger by key and scope key. Does not fail if the trigger does not exist.
      Specified by:
      deleteTrigger in interface MutableEventScopeInstanceState
      Parameters:
      eventScopeKey - the key of the event scope
      eventKey - the key of the event trigger
    • getInstance

      public EventScopeInstance getInstance(long eventScopeKey)
      Description copied from interface: EventScopeInstanceState
      Returns a event scope instance by key or null if none exists with this key.
      Specified by:
      getInstance in interface EventScopeInstanceState
      Parameters:
      eventScopeKey - the key of the event scope
      Returns:
      the event scope instance or null
    • peekEventTrigger

      public EventTrigger peekEventTrigger(long eventScopeKey)
      Description copied from interface: EventScopeInstanceState
      Returns the next event trigger for the event scope or null if none exists. This will not remove the event trigger from the state.
      Specified by:
      peekEventTrigger in interface EventScopeInstanceState
      Parameters:
      eventScopeKey - the key of the event scope
      Returns:
      the next event trigger or null if none exist
    • canTriggerEvent

      public boolean canTriggerEvent(long eventScopeKey, org.agrona.DirectBuffer elementId)
      Description copied from interface: EventScopeInstanceState
      Checks if the event scope can be triggered for the given event.
      Specified by:
      canTriggerEvent in interface EventScopeInstanceState
      Parameters:
      eventScopeKey - the key of the event scope the event is triggered in
      elementId - the element id of the event that is triggered
      Returns:
      true if the event can be triggered, otherwise false