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 Object implements JsonObjectReader<T>
Implementation of JsonObjectReader based on Google Gson.
Since:
4.1
Author:
Mahmoud Ben Hassine, Jimmy Praet
  • Constructor Details

    • GsonJsonObjectReader

      public GsonJsonObjectReader(Class<? extends T> itemType)
      Create a new GsonJsonObjectReader instance.
      Parameters:
      itemType - the target item type
    • GsonJsonObjectReader

      public GsonJsonObjectReader(com.google.gson.Gson mapper, Class<? extends T> itemType)
  • Method Details

    • 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
      See Also:
    • open

      public void open(org.springframework.core.io.Resource resource) throws 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:
      Exception - if unable to open the resource
    • read

      @Nullable public T read() throws 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:
      Exception - if unable to read the next object
    • close

      public void close() throws Exception
      Description copied from interface: JsonObjectReader
      Close the input resource.
      Specified by:
      close in interface JsonObjectReader<T>
      Throws:
      Exception - if unable to close the input resource
    • jumpToItem

      public void jumpToItem(int itemIndex) throws Exception
      Description copied from interface: JsonObjectReader
      Move to the given item index. Implementations should override this method if there is a more efficient way of moving to given index than re-reading the input using JsonObjectReader.read().
      Specified by:
      jumpToItem in interface JsonObjectReader<T>
      Parameters:
      itemIndex - index of item (0 based) to jump to.
      Throws:
      Exception - Allows implementations to throw checked exceptions for interpretation by the framework