org.springframework.batch.core.step.tasklet

## Class MethodInvokingTaskletAdapter

- java.lang.Object
- - org.springframework.batch.item.adapter.AbstractMethodInvokingDelegator<java.lang.Object>
  - - org.springframework.batch.core.step.tasklet.MethodInvokingTaskletAdapter

- All Implemented Interfaces:
    Tasklet, org.springframework.beans.factory.InitializingBean

      public class MethodInvokingTaskletAdapter
      extends AbstractMethodInvokingDelegator<java.lang.Object>
      implements Tasklet

  A `Tasklet` that wraps a method in a POJO. By default the return value is `ExitStatus.COMPLETED` unless the delegate POJO itself returns an `ExitStatus`. The POJO method is usually going to have no arguments, but a static argument or array of arguments can be used by setting the arguments property.
  Author:
    Dave Syer, Mahmoud Ben Hassine
  See Also:
    `AbstractMethodInvokingDelegator`

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.springframework.batch.item.adapter.AbstractMethodInvokingDelegator

      `AbstractMethodInvokingDelegator.InvocationTargetThrowableWrapper`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MethodInvokingTaskletAdapter()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `RepeatStatus` | `execute(StepContribution contribution, ChunkContext chunkContext)` Delegate execution to the target object and translate the return value to an `ExitStatus` by invoking a method in the delegate POJO.
    `protected ExitStatus` | `mapResult(java.lang.Object result)` If the result is an `ExitStatus` already just return that, otherwise return `ExitStatus.COMPLETED`.

    - ### Methods inherited from class org.springframework.batch.item.adapter.AbstractMethodInvokingDelegator

      `afterPropertiesSet, getArguments, invokeDelegateMethod, invokeDelegateMethodWithArgument, invokeDelegateMethodWithArguments, setArguments, setTargetMethod, setTargetObject`

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

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

- - ### Constructor Detail

    - #### MethodInvokingTaskletAdapter

          public MethodInvokingTaskletAdapter()

  - ### Method Detail

    - #### execute

          @Nullable
          public RepeatStatus execute(StepContribution contribution,
                                                ChunkContext chunkContext)
                                         throws java.lang.Exception

      Delegate execution to the target object and translate the return value to an `ExitStatus` by invoking a method in the delegate POJO. Ignores the `StepContribution` and the attributes.
      Specified by:
        `execute` in interface `Tasklet`
      Parameters:
        `contribution` - mutable state to be passed back to update the current step execution
        `chunkContext` - attributes shared between invocations but not between restarts
      Returns:
        an `RepeatStatus` indicating whether processing is continuable. Returning `null` is interpreted as `RepeatStatus.FINISHED`
      Throws:
        `java.lang.Exception` - thrown if error occurs during execution.
      See Also:
        `Tasklet.execute(StepContribution, ChunkContext)`

    - #### mapResult

          protected ExitStatus mapResult(java.lang.Object result)

      If the result is an `ExitStatus` already just return that, otherwise return `ExitStatus.COMPLETED`.
      Parameters:
        `result` - the value returned by the delegate method
      Returns:
        an `ExitStatus` consistent with the result