Package org.flowable.engine.delegate

# Interface MapBasedFlowableFutureJavaDelegate

All Superinterfaces:
  `FlowableFutureJavaDelegate<ReadOnlyDelegateExecution,Map<String,Object>>`, `FutureJavaDelegate<Map<String,Object>>`

public interface MapBasedFlowableFutureJavaDelegate extends FlowableFutureJavaDelegate<ReadOnlyDelegateExecution,Map<String,Object>>
A `FlowableFutureJavaDelegate` which has a `ReadOnlyDelegateExecution` as input and `Map` output data. By default this will have a copy `VariableScope.getVariables()` as the input data and will store all data from the output map as variables in the `DelegateExecution`

Author:
  Filip Hrisafov

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default void`
  `afterExecution(DelegateExecution execution, Map<String,Object> executionData)`
  Method invoked with the result from `FlowableFutureJavaDelegate.execute(Object)`.
  `default ReadOnlyDelegateExecution`
  `prepareExecutionData(DelegateExecution execution)`
  Method invoked before doing the execution to extract needed that from the execution on the main thread.

  ### Methods inherited from interface org.flowable.engine.delegate.FlowableFutureJavaDelegate

  `execute, execute`

- ## Method Details

  - ### prepareExecutionData

    default ReadOnlyDelegateExecution prepareExecutionData(DelegateExecution execution)
    Description copied from interface: `FlowableFutureJavaDelegate`
    Method invoked before doing the execution to extract needed that from the execution on the main thread. This should be used to prepare and extract data from the execution before doing the execution in a different thread.
    Specified by:
      `prepareExecutionData` in interface `FlowableFutureJavaDelegate<ReadOnlyDelegateExecution,Map<String,Object>>`
    Parameters:
      `execution` - the execution from which to extract data
    Returns:
      the data for the delegate

  - ### afterExecution

    default void afterExecution(DelegateExecution execution, Map<String,Object> executionData)
    Description copied from interface: `FlowableFutureJavaDelegate`
    Method invoked with the result from `FlowableFutureJavaDelegate.execute(Object)`. This should be used to set data on the `DelegateExecution`. This is on the same thread as `FlowableFutureJavaDelegate.prepareExecutionData(DelegateExecution)` and participates in the process transaction.
    Specified by:
      `afterExecution` in interface `FlowableFutureJavaDelegate<ReadOnlyDelegateExecution,Map<String,Object>>`
    Specified by:
      `afterExecution` in interface `FutureJavaDelegate<Map<String,Object>>`
    Parameters:
      `execution` - the execution to which data can be set
      `executionData` - the execution data