# Uses of Interface
org.flowable.engine.delegate.DelegateExecution

Packages that use DelegateExecution
Package
Description
org.flowable.engine
Public API of the Flowable engine.
Typical usage of the API starts by the creation of a `ProcessEngineConfiguration` (typically based on a configuration file), from which a `ProcessEngine` can be obtained.
Through the services obtained from such a `ProcessEngine`, BPM and workflow operation can be executed:
`RepositoryService`: Manages `Deployment`s.
`RuntimeService`: For starting and searching `ProcessInstance`s.
`TaskService`: Exposes operations to manage human (standalone) tasks, such as claiming, completing and assigning tasks.
`IdentityService`: Used for managing users, groups and the relations between them.
`ManagementService`: Exposes engine administration and maintenance operations, which have no relation to the runtime exection of business processes.
`HistoryService`: Exposes information about ongoing and past process instances.
`FormService`: Access to form data and rendered forms for starting new process instances and completing tasks.
org.flowable.engine.compatibility
org.flowable.engine.debug
org.flowable.engine.delegate
Interfaces used to include Java code in a process as the behavior of an activity or as a listener to process events with `JavaDelegate`s.
org.flowable.engine.delegate.event
org.flowable.engine.delegate.event.impl
org.flowable.engine.delegate.variable
org.flowable.engine.interceptor

- ## Uses of DelegateExecution in org.flowable.engine

  Methods in org.flowable.engine with parameters of type DelegateExecution
  Modifier and Type
  Method
  Description
  `void`
  DecisionTableVariableManager.`setDecisionServiceVariablesOnExecution(Map<String,List<Map<String,Object>>> executionResult, String decisionKey, DelegateExecution execution, com.fasterxml.jackson.databind.ObjectMapper objectMapper, boolean multipleResults)`
  `void`
  DecisionTableVariableManager.`setVariablesOnExecution(List<Map<String,Object>> executionResult, String decisionKey, DelegateExecution execution, com.fasterxml.jackson.databind.ObjectMapper objectMapper, boolean multipleResults)`

- ## Uses of DelegateExecution in org.flowable.engine.compatibility

  Methods in org.flowable.engine.compatibility with parameters of type DelegateExecution
  Modifier and Type
  Method
  Description
  `Object`
  Flowable5CompatibilityHandler.`getScriptingEngineValue(String payloadExpressionValue, String languageValue, DelegateExecution execution)`
  `void`
  Flowable5CompatibilityHandler.`leaveExecution(DelegateExecution execution)`
  `void`
  Flowable5CompatibilityHandler.`leaveMIExecution(DelegateExecution execution, Object v5MultiInstanceActivityBehavior)`
  `boolean`
  Flowable5CompatibilityHandler.`mapException(Exception camelException, DelegateExecution execution, List<MapExceptionEntry> mapExceptions)`
  `void`
  Flowable5CompatibilityHandler.`propagateError(BpmnError bpmnError, DelegateExecution execution)`

- ## Uses of DelegateExecution in org.flowable.engine.debug

  Methods in org.flowable.engine.debug with parameters of type DelegateExecution
  Modifier and Type
  Method
  Description
  `static ExecutionTree`
  ExecutionTreeUtil.`buildExecutionTree(DelegateExecution executionEntity)`

- ## Uses of DelegateExecution in org.flowable.engine.delegate

  Methods in org.flowable.engine.delegate that return DelegateExecution
  Modifier and Type
  Method
  Description
  `DelegateExecution`
  DelegateExecution.`getParent()`
  returns the parent of this execution, or null if there no parent.
  Methods in org.flowable.engine.delegate that return types with arguments of type DelegateExecution
  Modifier and Type
  Method
  Description
  `List<? extends DelegateExecution>`
  DelegateExecution.`getExecutions()`
  returns the list of execution of which this execution the parent of.
  Methods in org.flowable.engine.delegate with parameters of type DelegateExecution
  Modifier and Type
  Method
  Description
  `void`
  FlowableFutureJavaDelegate.`afterExecution(DelegateExecution execution, Output executionData)`
  Method invoked with the result from `FlowableFutureJavaDelegate.execute(Object)`.
  `void`
  FutureJavaDelegate.`afterExecution(DelegateExecution execution, Output executionData)`
  Method invoked with the result from `FutureJavaDelegate.execute(DelegateExecution, AsyncTaskInvoker)`.
  `default void`
  MapBasedFlowableFutureJavaDelegate.`afterExecution(DelegateExecution execution, Map<String,Object> executionData)`
  `default CompletableFuture<Output>`
  FlowableFutureJavaDelegate.`execute(DelegateExecution execution, AsyncTaskInvoker taskInvoker)`
  `CompletableFuture<Output>`
  FutureJavaDelegate.`execute(DelegateExecution execution, AsyncTaskInvoker taskInvoker)`
  Perform the execution of the delegate, potentially on another thread.
  `void`
  JavaDelegate.`execute(DelegateExecution execution)`
  `static BpmnModel`
  DelegateHelper.`getBpmnModel(DelegateExecution execution)`
  Returns the `BpmnModel` matching the process definition bpmn model for the process definition of the passed `DelegateExecution`.
  `Map<String,Object>`
  CustomPropertiesResolver.`getCustomPropertiesMap(DelegateExecution execution)`
  `static Map<String,List<ExtensionElement>>`
  DelegateHelper.`getExtensionElements(DelegateExecution execution)`
  Returns for the activityId of the passed `DelegateExecution` the `Map` of `ExtensionElement` instances.
  `static FieldExtension`
  DelegateHelper.`getField(DelegateExecution execution, String fieldName)`
  Returns the `FieldExtension` matching the provided 'fieldName' which is defined for the current activity of the provided `DelegateExecution`.
  `static Expression`
  DelegateHelper.`getFieldExpression(DelegateExecution execution, String fieldName)`
  Returns the `Expression` for the field defined for the current activity of the provided `DelegateExecution`.
  `static List<FieldExtension>`
  DelegateHelper.`getFields(DelegateExecution execution)`
  Returns the list of field extensions, represented as instances of `FieldExtension`, for the current activity of the passed `DelegateExecution`.
  `static FlowElement`
  DelegateHelper.`getFlowElement(DelegateExecution execution)`
  Returns the current `FlowElement` where the `DelegateExecution` is currently at.
  `static Map<String,List<ExtensionElement>>`
  DelegateHelper.`getFlowElementExtensionElements(DelegateExecution execution)`
  `static FieldExtension`
  DelegateHelper.`getFlowElementField(DelegateExecution execution, String fieldName)`
  `static Expression`
  DelegateHelper.`getFlowElementFieldExpression(DelegateExecution execution, String fieldName)`
  `static List<FieldExtension>`
  DelegateHelper.`getFlowElementFields(DelegateExecution execution)`
  `static Map<String,List<ExtensionElement>>`
  DelegateHelper.`getListenerExtensionElements(DelegateExecution execution)`
  `static FieldExtension`
  DelegateHelper.`getListenerField(DelegateExecution execution, String fieldName)`
  `static Expression`
  DelegateHelper.`getListenerFieldExpression(DelegateExecution execution, String fieldName)`
  `static List<FieldExtension>`
  DelegateHelper.`getListenerFields(DelegateExecution execution)`
  `static boolean`
  DelegateHelper.`isExecutingExecutionListener(DelegateExecution execution)`
  Returns whether or not the provided execution is being use for executing an `ExecutionListener`.
  `static void`
  DelegateHelper.`leaveDelegate(DelegateExecution delegateExecution)`
  To be used in an `ActivityBehavior` or `JavaDelegate`: leaves according to the default BPMN 2.0 rules: all sequenceflow with a condition that evaluates to true are followed.
  `static void`
  DelegateHelper.`leaveDelegate(DelegateExecution delegateExecution, String sequenceFlowId)`
  To be used in an `ActivityBehavior` or `JavaDelegate`: leaves the current activity via one specific sequenceflow.
  `void`
  ExecutionListener.`notify(DelegateExecution execution)`
  `Input`
  FlowableFutureJavaDelegate.`prepareExecutionData(DelegateExecution execution)`
  Method invoked before doing the execution to extract needed that from the execution on the main thread.
  `default ReadOnlyDelegateExecution`
  MapBasedFlowableFutureJavaDelegate.`prepareExecutionData(DelegateExecution execution)`

- ## Uses of DelegateExecution in org.flowable.engine.delegate.event

  Methods in org.flowable.engine.delegate.event that return DelegateExecution
  Modifier and Type
  Method
  Description
  `protected DelegateExecution`
  AbstractFlowableEngineEventListener.`getExecution(FlowableEngineEvent event)`
  `DelegateExecution`
  FlowableProcessEngineEvent.`getExecution()`
  Return the execution this event is associated with.

- ## Uses of DelegateExecution in org.flowable.engine.delegate.event.impl

  Methods in org.flowable.engine.delegate.event.impl that return DelegateExecution
  Modifier and Type
  Method
  Description
  `DelegateExecution`
  FlowableProcessEventImpl.`getExecution()`

- ## Uses of DelegateExecution in org.flowable.engine.delegate.variable

  Methods in org.flowable.engine.delegate.variable with parameters of type DelegateExecution
  Modifier and Type
  Method
  Description
  `Object`
  VariableAggregator.`aggregateMultiVariables(DelegateExecution execution, List<? extends VariableInstance> instances, VariableAggregatorContext context)`
  Aggregated the provided variable instances into one variable value.
  `Object`
  VariableAggregator.`aggregateSingleVariable(DelegateExecution execution, VariableAggregatorContext context)`
  Create a single variable value based on the provided aggregation definition.

- ## Uses of DelegateExecution in org.flowable.engine.interceptor

  Fields in org.flowable.engine.interceptor declared as DelegateExecution
  Modifier and Type
  Field
  Description
  `protected final DelegateExecution`
  CreateExternalWorkerJobAfterContext.`execution`
  `protected final DelegateExecution`
  CreateExternalWorkerJobBeforeContext.`execution`
  `protected DelegateExecution`
  CreateUserTaskAfterContext.`execution`
  `protected DelegateExecution`
  CreateUserTaskBeforeContext.`execution`
  Methods in org.flowable.engine.interceptor that return DelegateExecution
  Modifier and Type
  Method
  Description
  `DelegateExecution`
  CreateExternalWorkerJobAfterContext.`getExecution()`
  `DelegateExecution`
  CreateExternalWorkerJobBeforeContext.`getExecution()`
  `DelegateExecution`
  CreateUserTaskAfterContext.`getExecution()`
  `DelegateExecution`
  CreateUserTaskBeforeContext.`getExecution()`
  Methods in org.flowable.engine.interceptor with parameters of type DelegateExecution
  Modifier and Type
  Method
  Description
  `void`
  CreateUserTaskAfterContext.`setExecution(DelegateExecution execution)`
  `void`
  CreateUserTaskBeforeContext.`setExecution(DelegateExecution execution)`
  Constructors in org.flowable.engine.interceptor with parameters of type DelegateExecution
  Modifier
  Constructor
  Description
  ``
  `CreateExternalWorkerJobAfterContext(ExternalWorkerServiceTask externalWorkerServiceTask, org.flowable.job.service.impl.persistence.entity.ExternalWorkerJobEntity externalWorkerJobEntity, DelegateExecution execution)`
  ``
  `CreateExternalWorkerJobBeforeContext(ExternalWorkerServiceTask externalWorkerServiceTask, DelegateExecution execution, String jobCategory)`
  ``
  `CreateUserTaskAfterContext(UserTask userTask, org.flowable.task.service.impl.persistence.entity.TaskEntity taskEntity, DelegateExecution execution)`
  ``
  `CreateUserTaskBeforeContext(UserTask userTask, DelegateExecution execution, String name, String description, String dueDate, String priority, String category, String formKey, String skipExpression, String assignee, String owner, List<String> candidateUsers, List<String> candidateGroups)`