Package org.flowable.engine.delegate.event.impl

# Class FlowableEventBuilder

java.lang.Object
org.flowable.engine.delegate.event.impl.FlowableEventBuilder

public class FlowableEventBuilder extends Object
Builder class used to create `FlowableEvent` implementations.

Author:
  Frederik Heremans

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FlowableEventBuilder()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static FlowableActivityCancelledEvent`
  `createActivityCancelledEvent(String activityId, String activityName, String executionId, String processInstanceId, String processDefinitionId, String activityType, Object cause)`
  `static FlowableActivityEvent`
  `createActivityEvent(FlowableEngineEventType type, String activityId, String activityName, String executionId, String processInstanceId, String processDefinitionId, FlowElement flowElement)`
  `static FlowableCancelledEvent`
  `createCancelledEvent(String executionId, String processInstanceId, String processDefinitionId, Object cause)`
  `static FlowableConditionalEvent`
  `createConditionalEvent(FlowableEngineEventType type, String activityId, String conditionExpression, String conditionLanguage, String executionId, String processInstanceId, String processDefinitionId)`
  `static FlowableEntityEvent`
  `createEntityEvent(FlowableEngineEventType type, Object entity)`
  `static FlowableEntityEvent`
  `createEntityEvent(FlowableEngineEventType type, Object entity, String executionId, String processInstanceId, String processDefinitionId)`
  `static FlowableEntityEvent`
  `createEntityExceptionEvent(FlowableEngineEventType type, Object entity, Throwable cause)`
  `static FlowableEntityEvent`
  `createEntityExceptionEvent(FlowableEngineEventType type, Object entity, Throwable cause, String executionId, String processInstanceId, String processDefinitionId)`
  `static FlowableEntityWithVariablesEvent`
  `createEntityWithVariablesEvent(FlowableEngineEventType type, Object entity, Map variables, boolean localScope)`
  `static FlowableErrorEvent`
  `createErrorEvent(FlowableEngineEventType type, String activityId, String errorId, String errorCode, String executionId, String processInstanceId, String processDefinitionId)`
  `static FlowableEscalationEvent`
  `createEscalationEvent(FlowableEngineEventType type, String activityId, String escalationCode, String escalationName, String executionId, String processInstanceId, String processDefinitionId)`
  `static FlowableEvent`
  `createEvent(FlowableEngineEventType type, String executionId, String processInstanceId, String processDefinitionId)`
  `static FlowableEvent`
  `createGlobalEvent(FlowableEngineEventType type)`
  `static FlowableJobRescheduledEvent`
  `createJobRescheduledEvent(FlowableEngineEventType type, Job newJob, String originalJobId)`
  `static FlowableMessageEvent`
  `createMessageEvent(FlowableEngineEventType type, String activityId, String messageName, Object payload, String executionId, String processInstanceId, String processDefinitionId)`
  `static FlowableMultiInstanceActivityCancelledEvent`
  `createMultiInstanceActivityCancelledEvent(String activityId, String activityName, String executionId, String processInstanceId, String processDefinitionId, String activityType, Object cause)`
  `static FlowableMultiInstanceActivityCompletedEvent`
  `createMultiInstanceActivityCompletedEvent(FlowableEngineEventType type, int numberOfInstances, int numberOfActiveInstances, int numberOfCompletedInstances, String activityId, String activityName, String executionId, String processInstanceId, String processDefinitionId, FlowElement flowElement)`
  `static FlowableMultiInstanceActivityEvent`
  `createMultiInstanceActivityEvent(FlowableEngineEventType type, String activityId, String activityName, String executionId, String processInstanceId, String processDefinitionId, FlowElement flowElement)`
  `static FlowableProcessStartedEvent`
  `createProcessStartedEvent(Object entity, Map variables, boolean localScope)`
  `static FlowableSequenceFlowTakenEvent`
  `createSequenceFlowTakenEvent(org.flowable.engine.impl.persistence.entity.ExecutionEntity executionEntity, FlowableEngineEventType type, String sequenceFlowId, String sourceActivityId, String sourceActivityName, String sourceActivityType, Object sourceActivityBehavior, String targetActivityId, String targetActivityName, String targetActivityType, Object targetActivityBehavior)`
  `static FlowableSignalEvent`
  `createSignalEvent(FlowableEngineEventType type, String activityId, String signalName, Object signalData, String executionId, String processInstanceId, String processDefinitionId)`
  `static FlowableProcessTerminatedEvent`
  `createTerminateEvent(org.flowable.engine.impl.persistence.entity.ExecutionEntity execution, Object cause)`
  `static FlowableVariableEvent`
  `createVariableEvent(FlowableEngineEventType type, String variableName, Object variableValue, VariableType variableType, String taskId, String executionId, String processInstanceId, String processDefinitionId, String variableInstanceId)`
  `protected static String`
  `parseActivityType(FlowNode flowNode)`
  `protected static void`
  `populateEventWithCurrentContext(org.flowable.common.engine.impl.event.FlowableEngineEventImpl event)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### FlowableEventBuilder

    public FlowableEventBuilder()

- ## Method Details

  - ### createGlobalEvent

    public static FlowableEvent createGlobalEvent(FlowableEngineEventType type)
    Parameters:
      `type` - type of event
    Returns:
      an `FlowableEvent` that doesn't have it's execution context-fields filled, as the event is a global event, independent of any running execution.

  - ### createEvent

    public static FlowableEvent createEvent(FlowableEngineEventType type, String executionId, String processInstanceId, String processDefinitionId)

  - ### createEntityEvent

    public static FlowableEntityEvent createEntityEvent(FlowableEngineEventType type, Object entity)
    Parameters:
      `type` - type of event
      `entity` - the entity this event targets
    Returns:
      an `FlowableEntityEvent`. In case an `ExecutionContext` is active, the execution related event fields will be populated. If not, execution details will be retrieved from the `Object` if possible.

  - ### createProcessStartedEvent

    public static FlowableProcessStartedEvent createProcessStartedEvent(Object entity, Map variables, boolean localScope)
    Parameters:
      `entity` - the entity this event targets
      `variables` - the variables associated with this entity
    Returns:
      an `FlowableEntityEvent`. In case an `ExecutionContext` is active, the execution related event fields will be populated. If not, execution details will be retrieved from the `Object` if possible.

  - ### createEntityWithVariablesEvent

    public static FlowableEntityWithVariablesEvent createEntityWithVariablesEvent(FlowableEngineEventType type, Object entity, Map variables, boolean localScope)
    Parameters:
      `type` - type of event
      `entity` - the entity this event targets
      `variables` - the variables associated with this entity
    Returns:
      an `FlowableEntityEvent`. In case an `ExecutionContext` is active, the execution related event fields will be populated. If not, execution details will be retrieved from the `Object` if possible.

  - ### createJobRescheduledEvent

    public static FlowableJobRescheduledEvent createJobRescheduledEvent(FlowableEngineEventType type, Job newJob, String originalJobId)
    Parameters:
      `type` - type of event
      `newJob` - the new job that was created due to the reschedule
      `originalJobId` - the job id of the original job that was rescheduled
    Returns:
      an `FlowableEntityEvent`. In case an `ExecutionContext` is active, the execution related event fields will be populated. If not, execution details will be retrieved from the `Object` if possible.

  - ### createSequenceFlowTakenEvent

    public static FlowableSequenceFlowTakenEvent createSequenceFlowTakenEvent(org.flowable.engine.impl.persistence.entity.ExecutionEntity executionEntity, FlowableEngineEventType type, String sequenceFlowId, String sourceActivityId, String sourceActivityName, String sourceActivityType, Object sourceActivityBehavior, String targetActivityId, String targetActivityName, String targetActivityType, Object targetActivityBehavior)

  - ### createEntityEvent

    public static FlowableEntityEvent createEntityEvent(FlowableEngineEventType type, Object entity, String executionId, String processInstanceId, String processDefinitionId)
    Parameters:
      `type` - type of event
      `entity` - the entity this event targets
    Returns:
      an `FlowableEntityEvent`

  - ### createEntityExceptionEvent

    public static FlowableEntityEvent createEntityExceptionEvent(FlowableEngineEventType type, Object entity, Throwable cause)
    Parameters:
      `type` - type of event
      `entity` - the entity this event targets
      `cause` - the cause of the event
    Returns:
      an `FlowableEntityEvent` that is also instance of `FlowableExceptionEvent`. In case an `ExecutionContext` is active, the execution related event fields will be populated.

  - ### createEntityExceptionEvent

    public static FlowableEntityEvent createEntityExceptionEvent(FlowableEngineEventType type, Object entity, Throwable cause, String executionId, String processInstanceId, String processDefinitionId)
    Parameters:
      `type` - type of event
      `entity` - the entity this event targets
      `cause` - the cause of the event
    Returns:
      an `FlowableEntityEvent` that is also instance of `FlowableExceptionEvent`.

  - ### createActivityEvent

    public static FlowableActivityEvent createActivityEvent(FlowableEngineEventType type, String activityId, String activityName, String executionId, String processInstanceId, String processDefinitionId, FlowElement flowElement)

  - ### createMultiInstanceActivityEvent

    public static FlowableMultiInstanceActivityEvent createMultiInstanceActivityEvent(FlowableEngineEventType type, String activityId, String activityName, String executionId, String processInstanceId, String processDefinitionId, FlowElement flowElement)

  - ### createMultiInstanceActivityCompletedEvent

    public static FlowableMultiInstanceActivityCompletedEvent createMultiInstanceActivityCompletedEvent(FlowableEngineEventType type, int numberOfInstances, int numberOfActiveInstances, int numberOfCompletedInstances, String activityId, String activityName, String executionId, String processInstanceId, String processDefinitionId, FlowElement flowElement)

  - ### parseActivityType

    protected static String parseActivityType(FlowNode flowNode)

  - ### createActivityCancelledEvent

    public static FlowableActivityCancelledEvent createActivityCancelledEvent(String activityId, String activityName, String executionId, String processInstanceId, String processDefinitionId, String activityType, Object cause)

  - ### createMultiInstanceActivityCancelledEvent

    public static FlowableMultiInstanceActivityCancelledEvent createMultiInstanceActivityCancelledEvent(String activityId, String activityName, String executionId, String processInstanceId, String processDefinitionId, String activityType, Object cause)

  - ### createCancelledEvent

    public static FlowableCancelledEvent createCancelledEvent(String executionId, String processInstanceId, String processDefinitionId, Object cause)

  - ### createTerminateEvent

    public static FlowableProcessTerminatedEvent createTerminateEvent(org.flowable.engine.impl.persistence.entity.ExecutionEntity execution, Object cause)

  - ### createSignalEvent

    public static FlowableSignalEvent createSignalEvent(FlowableEngineEventType type, String activityId, String signalName, Object signalData, String executionId, String processInstanceId, String processDefinitionId)

  - ### createMessageEvent

    public static FlowableMessageEvent createMessageEvent(FlowableEngineEventType type, String activityId, String messageName, Object payload, String executionId, String processInstanceId, String processDefinitionId)

  - ### createConditionalEvent

    public static FlowableConditionalEvent createConditionalEvent(FlowableEngineEventType type, String activityId, String conditionExpression, String conditionLanguage, String executionId, String processInstanceId, String processDefinitionId)

  - ### createEscalationEvent

    public static FlowableEscalationEvent createEscalationEvent(FlowableEngineEventType type, String activityId, String escalationCode, String escalationName, String executionId, String processInstanceId, String processDefinitionId)

  - ### createErrorEvent

    public static FlowableErrorEvent createErrorEvent(FlowableEngineEventType type, String activityId, String errorId, String errorCode, String executionId, String processInstanceId, String processDefinitionId)

  - ### createVariableEvent

    public static FlowableVariableEvent createVariableEvent(FlowableEngineEventType type, String variableName, Object variableValue, VariableType variableType, String taskId, String executionId, String processInstanceId, String processDefinitionId, String variableInstanceId)

  - ### populateEventWithCurrentContext

    protected static void populateEventWithCurrentContext(org.flowable.common.engine.impl.event.FlowableEngineEventImpl event)