org.springframework.batch.item.json

## Class GsonJsonObjectReader<T>

- java.lang.Object
- - org.springframework.batch.item.json.GsonJsonObjectReader<T>

- Type Parameters:
    `T` - type of the target object
  All Implemented Interfaces:
    JsonObjectReader<T>

      public class GsonJsonObjectReader<T>
      extends java.lang.Object
      implements JsonObjectReader<T>

  Implementation of `JsonObjectReader` based on Google Gson.
  Since:
    4.1
  Author:
    Mahmoud Ben Hassine

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `GsonJsonObjectReader(java.lang.Class<? extends T> itemType)` Create a new `GsonJsonObjectReader` instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Close the input resource.
    `void` | `open(org.springframework.core.io.Resource resource)` Open the Json resource for reading.
    `T` | `read()` Read the next object in the Json resource if any.
    `void` | `setMapper(com.google.gson.Gson mapper)` Set the object mapper to use to map Json objects to domain objects.

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

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

- - ### Constructor Detail

    - #### GsonJsonObjectReader

          public GsonJsonObjectReader(java.lang.Class<? extends T> itemType)

      Create a new `GsonJsonObjectReader` instance.
      Parameters:
        `itemType` - the target item type

  - ### Method Detail

    - #### setMapper

          public void setMapper(com.google.gson.Gson mapper)

      Set the object mapper to use to map Json objects to domain objects.
      Parameters:
        `mapper` - the object mapper to use

    - #### open

          public void open(org.springframework.core.io.Resource resource)
                    throws java.lang.Exception

      Description copied from interface: `JsonObjectReader`
      Open the Json resource for reading.
      Specified by:
        `open` in interface `JsonObjectReader<T>`
      Parameters:
        `resource` - the input resource
      Throws:
        `java.lang.Exception` - if unable to open the resource

    - #### read

          @Nullable
          public T read()
                           throws java.lang.Exception

      Description copied from interface: `JsonObjectReader`
      Read the next object in the Json resource if any.
      Specified by:
        `read` in interface `JsonObjectReader<T>`
      Returns:
        the next object or `null` if the resource is exhausted
      Throws:
        `java.lang.Exception` - if unable to read the next object

    - #### close

          public void close()
                     throws java.lang.Exception

      Description copied from interface: `JsonObjectReader`
      Close the input resource.
      Specified by:
        `close` in interface `JsonObjectReader<T>`
      Throws:
        `java.lang.Exception` - if unable to close the input resource