Class Datasource

java.lang.Object
moblima.utils.datasource.Datasource
Direct Known Subclasses:
HolidayDatasource, MovieDatasource

public class Datasource extends Object
All-purpose datasource parser and serializer
Version:
1.0
Author:
SC2002 /SS11 Group 1
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected String
    API key (if required)
    protected static final String
    Destination directory
    protected String
    API endpoint
    protected static final com.google.gson.Gson
    Pre-defined API response parser
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected static com.google.gson.JsonArray
    Converts List to JsonArray
    static boolean
    deleteFile(String fileName)
    Delete file boolean.
    static com.google.gson.Gson
    Retrieves pre-defined API response parser
    static com.google.gson.JsonArray
    Extract JsonArray from CSV file
    com.google.gson.JsonElement
    request(String query)
    Makes API request
    com.google.gson.JsonArray
    requestPagination(String query, int startIdx, int endIdx)
    Makes paginated requests
    static boolean
    saveCsv(File outputFile, String csvObject, boolean overwrite)
    Serialize stringified CSV to output file
    static boolean
    saveJson(File outputFile, String jsonObject, boolean overwrite)
    Serialize stringified JSON to output file
    static boolean
    serializeData(List list, String outputFileName)
    Save and export list data to CSV
    static boolean
    serializeDataToCSV(com.google.gson.JsonArray responseObj, String outputFileName, boolean overwrite)
    Serializes JsonArray into CSV file

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DATA_DIR

      protected static final String DATA_DIR
      Destination directory
      See Also:
    • gson

      protected static final com.google.gson.Gson gson
      Pre-defined API response parser
    • ENDPOINT

      protected String ENDPOINT
      API endpoint
    • API_KEY

      protected String API_KEY
      API key (if required)
  • Constructor Details

    • Datasource

      public Datasource()
  • Method Details

    • getGson

      public static com.google.gson.Gson getGson()
      Retrieves pre-defined API response parser
      Returns:
      gson :Gson
    • convertToJsonArray

      protected static com.google.gson.JsonArray convertToJsonArray(List list)
      Converts List to JsonArray
      Parameters:
      list - :List
      Returns:
      result :JsonArray
    • serializeData

      public static boolean serializeData(List list, String outputFileName)
      Save and export list data to CSV
      Parameters:
      list - :List
      outputFileName - :String
      Returns:
      isSuccess :boolean
    • serializeDataToCSV

      public static boolean serializeDataToCSV(com.google.gson.JsonArray responseObj, String outputFileName, boolean overwrite)
      Serializes JsonArray into CSV file
      Parameters:
      responseObj - :JsonArray
      outputFileName - :String
      overwrite - :boolean
      Returns:
      isSuccessful :boolean
    • deleteFile

      public static boolean deleteFile(String fileName)
      Delete file boolean.
      Parameters:
      fileName - the file name
      Returns:
      the boolean
    • saveJson

      public static boolean saveJson(File outputFile, String jsonObject, boolean overwrite)
      Serialize stringified JSON to output file
      Parameters:
      outputFile - :File
      jsonObject - :String
      overwrite - :boolean
      Returns:
      isSaved :boolean
    • saveCsv

      public static boolean saveCsv(File outputFile, String csvObject, boolean overwrite)
      Serialize stringified CSV to output file
      Parameters:
      outputFile - :File
      csvObject - :String
      overwrite - :boolean
      Returns:
      isSaved :boolean
    • readArrayFromCsv

      public static com.google.gson.JsonArray readArrayFromCsv(String fileName)
      Extract JsonArray from CSV file
      Parameters:
      fileName - :String
      Returns:
      result :JsonArray
    • requestPagination

      public com.google.gson.JsonArray requestPagination(String query, int startIdx, int endIdx)
      Makes paginated requests
      Parameters:
      query - :String
      startIdx - :int
      endIdx - :int
      Returns:
      result :JsonArray
    • request

      public com.google.gson.JsonElement request(String query)
      Makes API request
      Parameters:
      query - :String
      Returns:
      result :JsonObject