Class BpmnEventPublicationBehavior
java.lang.Object
io.camunda.zeebe.engine.processing.bpmn.behavior.BpmnEventPublicationBehavior
-
Constructor Summary
ConstructorsConstructorDescriptionBpmnEventPublicationBehavior
(ProcessingState processingState, KeyGenerator keyGenerator, EventTriggerBehavior eventTriggerBehavior, BpmnStateBehavior stateBehavior, Writers writers) -
Method Summary
Modifier and TypeMethodDescriptionfindErrorCatchEvent
(org.agrona.DirectBuffer errorCode, BpmnElementContext context) Finds the right catch event for the given error.void
throwErrorEvent
(CatchEventAnalyzer.CatchEventTuple catchEventTuple) Throws an error event to the given element instance/catch event pair.
-
Constructor Details
-
BpmnEventPublicationBehavior
public BpmnEventPublicationBehavior(ProcessingState processingState, KeyGenerator keyGenerator, EventTriggerBehavior eventTriggerBehavior, BpmnStateBehavior stateBehavior, Writers writers)
-
-
Method Details
-
throwErrorEvent
Throws an error event to the given element instance/catch event pair. Only throws the event if the given element instance is exists and is accepting events, e.g. isn't terminating, wasn't interrupted, etc.- Parameters:
catchEventTuple
- a tuple representing a catch event and its current instance
-
findErrorCatchEvent
public Either<Failure,CatchEventAnalyzer.CatchEventTuple> findErrorCatchEvent(org.agrona.DirectBuffer errorCode, BpmnElementContext context) Finds the right catch event for the given error. This is done by going up through the scope hierarchy recursively until a matching catch event is found. If none are found, a failure is returned.The returned
CatchEventAnalyzer.CatchEventTuple
can be used to throw the event viathrowErrorEvent(CatchEventTuple)
.- Parameters:
errorCode
- the error code of the error eventcontext
- the current element context- Returns:
- a valid
CatchEventAnalyzer.CatchEventTuple
if a catch event is found, or a failure otherwise
-