Package org.springframework.batch.item.adapter

# Class ItemReaderAdapter<T>

java.lang.Object
org.springframework.batch.item.adapter.AbstractMethodInvokingDelegator<T>
org.springframework.batch.item.adapter.ItemReaderAdapter<T>

All Implemented Interfaces:
  `ItemReader<T>`, `org.springframework.beans.factory.InitializingBean`

public class ItemReaderAdapter<T> extends AbstractMethodInvokingDelegator<T> implements ItemReader<T>
Invokes a custom method on a delegate plain old Java object which itself provides an item.

Author:
  Robert Kasanicky

- ## Nested Class Summary

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

  `AbstractMethodInvokingDelegator.InvocationTargetThrowableWrapper`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ItemReaderAdapter()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `T`
  `read()`
  Reads a piece of input data and advance to the next one.

  ### 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

  - ### ItemReaderAdapter

    public ItemReaderAdapter()

- ## Method Details

  - ### read

    @Nullable public T read() throws Exception
    Description copied from interface: `ItemReader`
    Reads a piece of input data and advance to the next one. Implementations must return `null` at the end of the input data set. In a transactional setting, caller might get the same item twice from successive calls (or otherwise), if the first call was in a transaction that rolled back.
    Specified by:
      `read` in interface `ItemReader<T>`
    Returns:
      return value of the target method.
    Throws:
      `ParseException` - if there is a problem parsing the current record (but the next one may still be valid)
      `NonTransientResourceException` - if there is a fatal exception in the underlying resource. After throwing this exception implementations should endeavour to return null from subsequent calls to read.
      `UnexpectedInputException` - if there is an uncategorised problem with the input data. Assume potentially transient, so subsequent calls to read might succeed.
      `Exception` - if an there is a non-specific error.