org.springframework.batch.jsr.item

## Class ItemReaderAdapter<T>

- java.lang.Object
- - org.springframework.batch.item.ItemStreamSupport
  - - org.springframework.batch.jsr.item.CheckpointSupport
    - - org.springframework.batch.jsr.item.ItemReaderAdapter<T>

- All Implemented Interfaces:
    ItemReader<T>, ItemStream

      public class ItemReaderAdapter<T>
      extends CheckpointSupport
      implements ItemReader<T>

  Adapter that wraps an `ItemReader` for use by Spring Batch. All calls are delegated as appropriate to the corresponding method on the delegate.
  Since:
    3.0
  Author:
    Michael Minella

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ItemReaderAdapter(javax.batch.api.chunk.ItemReader reader)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.io.Serializable` | `doCheckpoint()` Used to provide a `Serializable` representing the current state of the batch artifact.
    `protected void` | `doClose()` Used to close the underlying batch artifact
    `protected void` | `doOpen(java.io.Serializable checkpoint)` Used to open a batch artifact with previously saved checkpoint information.
    `T` | `read()` Reads a piece of input data and advance to the next one.

    - ### Methods inherited from class org.springframework.batch.jsr.item.CheckpointSupport

      `close, open, update`

    - ### Methods inherited from class org.springframework.batch.item.ItemStreamSupport

      `getExecutionContextKey, setExecutionContextName, setName`

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

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

- - ### Constructor Detail

    - #### ItemReaderAdapter

          public ItemReaderAdapter(javax.batch.api.chunk.ItemReader reader)

      Parameters:
        `reader` - the `ItemReader` implementation to delegate to

  - ### Method Detail

    - #### read

          @Nullable
          public T read()
                           throws java.lang.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:
        T the item to be processed or `null` if the data source is exhausted
      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.
        `java.lang.Exception` - if an there is a non-specific error.

    - #### doClose

          protected void doClose()
                          throws java.lang.Exception

      Description copied from class: `CheckpointSupport`
      Used to close the underlying batch artifact
      Specified by:
        `doClose` in class `CheckpointSupport`
      Throws:
        `java.lang.Exception` - thrown by the underlying implementation

    - #### doCheckpoint

          protected java.io.Serializable doCheckpoint()
                                               throws java.lang.Exception

      Description copied from class: `CheckpointSupport`
      Used to provide a `Serializable` representing the current state of the batch artifact.
      Specified by:
        `doCheckpoint` in class `CheckpointSupport`
      Returns:
        the current state of the batch artifact
      Throws:
        `java.lang.Exception` - thrown by the implementation

    - #### doOpen

          protected void doOpen(java.io.Serializable checkpoint)
                         throws java.lang.Exception

      Description copied from class: `CheckpointSupport`
      Used to open a batch artifact with previously saved checkpoint information.
      Specified by:
        `doOpen` in class `CheckpointSupport`
      Parameters:
        `checkpoint` - previously saved checkpoint object
      Throws:
        `java.lang.Exception` - thrown by the implementation