Package org.springframework.batch.core.step.tasklet

# Class MethodInvokingTaskletAdapter

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

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

public class MethodInvokingTaskletAdapter extends AbstractMethodInvokingDelegator<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
  Description
  `MethodInvokingTaskletAdapter()`

- ## Method Summary

  Modifier and Type
  Method
  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(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 Details

  - ### MethodInvokingTaskletAdapter

    public MethodInvokingTaskletAdapter()

- ## Method Details

  - ### execute

    @Nullable public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws 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:
      `Exception` - thrown if error occurs during execution.
    See Also:
      - `Tasklet.execute(StepContribution, ChunkContext)`

  - ### mapResult

    protected ExitStatus mapResult(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