Package org.flowable.cmmn.api.delegate

# Interface MapBasedFlowablePlanItemFutureJavaDelegate

All Superinterfaces:
  `FlowablePlanItemFutureJavaDelegate<ReadOnlyDelegatePlanItemInstance,Map<String,Object>>`, `PlanItemFutureJavaDelegate<Map<String,Object>>`

public interface MapBasedFlowablePlanItemFutureJavaDelegate extends FlowablePlanItemFutureJavaDelegate<ReadOnlyDelegatePlanItemInstance,Map<String,Object>>
A `FlowablePlanItemFutureJavaDelegate` which has a `ReadOnlyDelegatePlanItemInstance` 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 `DelegatePlanItemInstance`

Author:
  Filip Hrisafov

- ## Method Summary

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

  ### Methods inherited from interface org.flowable.cmmn.api.delegate.FlowablePlanItemFutureJavaDelegate

  `execute, execute`

- ## Method Details

  - ### prepareExecutionData

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

  - ### afterExecution

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