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 DbEventScopeInstanceState(ZeebeDb<ZbColumnFamilies> zeebeDb, TransactionContext transactionContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
createIfNotExists(long eventScopeKey, Collection<org.agrona.DirectBuffer> interruptingIds)
Creates a new event scope instance in the statevoid
createInstance(long eventScopeKey, Collection<org.agrona.DirectBuffer> interruptingIds)
Creates a new event scope instance in the statevoid
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.EventScopeInstance
getInstance(long eventScopeKey)
Returns a event scope instance by key or null if none exists with this key.boolean
isAcceptingEvent(long eventScopeKey)
EventTrigger
peekEventTrigger(long eventScopeKey)
Returns the next event trigger for the event scope or null if none exists.EventTrigger
pollEventTrigger(long eventScopeKey)
Returns the next event trigger for the event scope or null if none exists.void
shutdownInstance(long eventScopeKey)
If the scope exists, sets its accepting property to false.boolean
triggerEvent(long eventScopeKey, long eventKey, org.agrona.DirectBuffer elementId, org.agrona.DirectBuffer variables)
void
triggerStartEvent(long processDefinitionKey, long eventKey, org.agrona.DirectBuffer elementId, org.agrona.DirectBuffer variables)
Creates an event trigger for a process start event.
-
-
-
Constructor Detail
-
DbEventScopeInstanceState
public DbEventScopeInstanceState(ZeebeDb<ZbColumnFamilies> zeebeDb, TransactionContext transactionContext)
-
-
Method Detail
-
shutdownInstance
public void shutdownInstance(long eventScopeKey)
Description copied from interface:MutableEventScopeInstanceState
If the scope exists, sets its accepting property to false.- Specified by:
shutdownInstance
in interfaceMutableEventScopeInstanceState
- Parameters:
eventScopeKey
- the event scope key
-
createIfNotExists
public boolean createIfNotExists(long eventScopeKey, Collection<org.agrona.DirectBuffer> interruptingIds)
Description copied from interface:MutableEventScopeInstanceState
Creates a new event scope instance in the state- Specified by:
createIfNotExists
in interfaceMutableEventScopeInstanceState
- Parameters:
eventScopeKey
- the event scope keyinterruptingIds
- list of element IDs which should set accepting to false- Returns:
- whether the scope was created or not
-
createInstance
public void createInstance(long eventScopeKey, Collection<org.agrona.DirectBuffer> interruptingIds)
Description copied from interface:MutableEventScopeInstanceState
Creates a new event scope instance in the state- Specified by:
createInstance
in interfaceMutableEventScopeInstanceState
- Parameters:
eventScopeKey
- the event scope keyinterruptingIds
- list of element IDs which should set accepting to false
-
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 interfaceMutableEventScopeInstanceState
- 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 interfaceMutableEventScopeInstanceState
- Parameters:
eventScopeKey
- the key of the event scope- Returns:
- the next event trigger or null if none exist
-
triggerEvent
public boolean triggerEvent(long eventScopeKey, long eventKey, org.agrona.DirectBuffer elementId, org.agrona.DirectBuffer variables)
- Specified by:
triggerEvent
in interfaceMutableEventScopeInstanceState
- Parameters:
eventScopeKey
- the key of the event scope the event is triggered ineventKey
- the key of the event record (used for ordering)elementId
- the id of the element which should be triggered, e.g. boundary eventvariables
- the variables of the occurred event, i.e. message variables- Returns:
- true if the event was accepted by the event scope, false otherwise
-
triggerStartEvent
public void triggerStartEvent(long processDefinitionKey, long eventKey, org.agrona.DirectBuffer elementId, org.agrona.DirectBuffer variables)
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 interfaceMutableEventScopeInstanceState
- Parameters:
processDefinitionKey
- the key of the process definition a new instance should be created ofeventKey
- the key of the event record (used for ordering)elementId
- the id of the start event which should be triggeredvariables
- the variables of the occurred event, i.e. message variables
-
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 interfaceMutableEventScopeInstanceState
- Parameters:
eventScopeKey
- the key of the event scopeeventKey
- 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 interfaceEventScopeInstanceState
- 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 interfaceEventScopeInstanceState
- Parameters:
eventScopeKey
- the key of the event scope- Returns:
- the next event trigger or null if none exist
-
isAcceptingEvent
public boolean isAcceptingEvent(long eventScopeKey)
- Specified by:
isAcceptingEvent
in interfaceEventScopeInstanceState
- Parameters:
eventScopeKey
- the key of the event scope the event is triggered in- Returns:
- true if the event can be accepted
-
-