Class SpincastGsonManager

java.lang.Object
org.spincast.plugins.gson.SpincastGsonManager
All Implemented Interfaces:
org.spincast.core.json.JsonManager

public class SpincastGsonManager extends Object implements org.spincast.core.json.JsonManager
  • Constructor Details

    • SpincastGsonManager

      @Inject public SpincastGsonManager(com.google.gson.JsonDeserializer<org.spincast.core.json.JsonObject> jsonObjectDeserializer, com.google.gson.JsonDeserializer<org.spincast.core.json.JsonArray> jsonArrayDeserializer, com.google.gson.JsonSerializer<org.spincast.core.json.JsonObject> jsonObjectSerializer, com.google.gson.JsonSerializer<org.spincast.core.json.JsonArray> jsonArraySerializer, com.google.gson.JsonSerializer<Date> dateSerializer, com.google.gson.JsonSerializer<Instant> instantSerializer, com.google.gson.JsonSerializer<BigDecimal> bigDecimalSerializer, com.google.gson.JsonSerializer<Enum<?>> enumSerializer, com.google.gson.JsonSerializer<Class<?>> classSerializer, com.google.gson.JsonSerializer<Throwable> throwableSerializer, org.spincast.core.json.JsonPathUtils jsonPathUtils, org.spincast.core.json.JsonObjectFactory jsonObjectFactory, org.spincast.core.config.SpincastConfig spincastConfig, org.spincast.core.utils.SpincastUtils spincastUtils, org.spincast.core.request.FormFactory formFactory, com.google.inject.Provider<com.google.inject.Injector> guiceProvider)
  • Method Details

    • getJsonObjectDeserializer

      protected com.google.gson.JsonDeserializer<org.spincast.core.json.JsonObject> getJsonObjectDeserializer()
    • getJsonArrayDeserializer

      protected com.google.gson.JsonDeserializer<org.spincast.core.json.JsonArray> getJsonArrayDeserializer()
    • getJsonObjectSerializer

      protected com.google.gson.JsonSerializer<org.spincast.core.json.JsonObject> getJsonObjectSerializer()
    • getJsonArraySerializer

      protected com.google.gson.JsonSerializer<org.spincast.core.json.JsonArray> getJsonArraySerializer()
    • getDateSerializer

      protected com.google.gson.JsonSerializer<Date> getDateSerializer()
    • getInstantSerializer

      protected com.google.gson.JsonSerializer<Instant> getInstantSerializer()
    • getBigDecimalSerializer

      protected com.google.gson.JsonSerializer<BigDecimal> getBigDecimalSerializer()
    • getEnumSerializer

      protected com.google.gson.JsonSerializer<Enum<?>> getEnumSerializer()
    • getClassSerializer

      protected com.google.gson.JsonSerializer<Class<?>> getClassSerializer()
    • getThrowableSerializer

      protected com.google.gson.JsonSerializer<Throwable> getThrowableSerializer()
    • getJsonPathUtils

      protected org.spincast.core.json.JsonPathUtils getJsonPathUtils()
    • getJsonObjectFactory

      protected org.spincast.core.json.JsonObjectFactory getJsonObjectFactory()
    • getSpincastConfig

      protected org.spincast.core.config.SpincastConfig getSpincastConfig()
    • getSpincastUtils

      protected org.spincast.core.utils.SpincastUtils getSpincastUtils()
    • getFormFactory

      protected org.spincast.core.request.FormFactory getFormFactory()
    • getGuice

      protected com.google.inject.Injector getGuice()
    • getGson

      public com.google.gson.Gson getGson()
    • getGsonPrettyPrinting

      public com.google.gson.Gson getGsonPrettyPrinting()
    • createGsons

      protected void createGsons()
    • configureGsonBuilder

      protected void configureGsonBuilder(com.google.gson.GsonBuilder gsonBuilder)
      Configure the Gson builder
    • registerCustomDeserializers

      protected void registerCustomDeserializers(com.google.gson.GsonBuilder gsonBuilder)
    • registerJsonObjectDeserializer

      protected void registerJsonObjectDeserializer(com.google.gson.GsonBuilder gsonBuilder)
    • registerJsonArrayDeserializer

      protected void registerJsonArrayDeserializer(com.google.gson.GsonBuilder gsonBuilder)
    • registerCustomSerializers

      protected void registerCustomSerializers(com.google.gson.GsonBuilder gsonBuilder)
    • registerJsonObjectSerializer

      protected void registerJsonObjectSerializer(com.google.gson.GsonBuilder gsonBuilder)
    • registerJsonArraySerializer

      protected void registerJsonArraySerializer(com.google.gson.GsonBuilder gsonBuilder)
    • registerDateSerializer

      protected void registerDateSerializer(com.google.gson.GsonBuilder gsonBuilder)
    • registerInstantSerializer

      protected void registerInstantSerializer(com.google.gson.GsonBuilder gsonBuilder)
    • registerBigDecimalSerializer

      protected void registerBigDecimalSerializer(com.google.gson.GsonBuilder gsonBuilder)
    • registerEnumSerializer

      protected void registerEnumSerializer(com.google.gson.GsonBuilder gsonBuilder)
    • registerClassSerializer

      protected void registerClassSerializer(com.google.gson.GsonBuilder gsonBuilder)
    • registerThrowableSerializer

      protected void registerThrowableSerializer(com.google.gson.GsonBuilder gsonBuilder)
    • create

      public org.spincast.core.json.JsonObject create()
      Specified by:
      create in interface org.spincast.core.json.JsonManager
    • createArray

      public org.spincast.core.json.JsonArray createArray()
      Specified by:
      createArray in interface org.spincast.core.json.JsonManager
    • fromObject

      public org.spincast.core.json.JsonObject fromObject(Object object)
      Specified by:
      fromObject in interface org.spincast.core.json.JsonManager
    • fromMap

      public org.spincast.core.json.JsonObject fromMap(Map<String,?> params)
      Specified by:
      fromMap in interface org.spincast.core.json.JsonManager
    • fromMap

      public org.spincast.core.json.JsonObject fromMap(Map<String,?> params, boolean parseKeysAsJsonPaths)
      Specified by:
      fromMap in interface org.spincast.core.json.JsonManager
    • fromInputStream

      public org.spincast.core.json.JsonObject fromInputStream(InputStream inputStream)
      Specified by:
      fromInputStream in interface org.spincast.core.json.JsonManager
    • getFromInputStreamEncoding

      protected String getFromInputStreamEncoding()
    • fromFile

      public org.spincast.core.json.JsonObject fromFile(File jsonFile)
      Specified by:
      fromFile in interface org.spincast.core.json.JsonManager
    • getFromFileEncoding

      protected String getFromFileEncoding()
    • fromFile

      public org.spincast.core.json.JsonObject fromFile(String jsonFilePath)
      Specified by:
      fromFile in interface org.spincast.core.json.JsonManager
    • fromClasspathFile

      public org.spincast.core.json.JsonObject fromClasspathFile(String path)
      Specified by:
      fromClasspathFile in interface org.spincast.core.json.JsonManager
    • getFromClasspathFileEncoding

      protected String getFromClasspathFileEncoding()
    • fromStringToMap

      public Map<String,Object> fromStringToMap(String jsonString)
      Specified by:
      fromStringToMap in interface org.spincast.core.json.JsonManager
    • fromInputStreamToMap

      public Map<String,Object> fromInputStreamToMap(InputStream inputStream)
      Specified by:
      fromInputStreamToMap in interface org.spincast.core.json.JsonManager
    • fromString

      public org.spincast.core.json.JsonObject fromString(String jsonString)
      Specified by:
      fromString in interface org.spincast.core.json.JsonManager
    • fromString

      public <T> T fromString(String jsonString, Class<T> clazz)
      Specified by:
      fromString in interface org.spincast.core.json.JsonManager
    • fromInputStream

      public <T> T fromInputStream(InputStream inputStream, Class<T> clazz)
      Specified by:
      fromInputStream in interface org.spincast.core.json.JsonManager
    • fromCollectionToJsonArray

      public org.spincast.core.json.JsonArray fromCollectionToJsonArray(Collection<?> collection)
      Specified by:
      fromCollectionToJsonArray in interface org.spincast.core.json.JsonManager
    • fromStringArray

      public org.spincast.core.json.JsonArray fromStringArray(String jsonString)
      Specified by:
      fromStringArray in interface org.spincast.core.json.JsonManager
    • fromListArray

      public org.spincast.core.json.JsonArray fromListArray(List<?> elements)
      Specified by:
      fromListArray in interface org.spincast.core.json.JsonManager
    • fromInputStreamArray

      public org.spincast.core.json.JsonArray fromInputStreamArray(InputStream inputStream)
      Specified by:
      fromInputStreamArray in interface org.spincast.core.json.JsonManager
    • createForm

      public org.spincast.core.request.Form createForm(String formName)
      Specified by:
      createForm in interface org.spincast.core.json.JsonManager
    • toJsonString

      public String toJsonString(Object obj)
      Specified by:
      toJsonString in interface org.spincast.core.json.JsonManager
    • toJsonString

      public String toJsonString(Object obj, boolean pretty)
      Specified by:
      toJsonString in interface org.spincast.core.json.JsonManager
    • parseDateFromJson

      public Date parseDateFromJson(String str)
      Specified by:
      parseDateFromJson in interface org.spincast.core.json.JsonManager
    • convertToJsonDate

      public String convertToJsonDate(Date date)
      Specified by:
      convertToJsonDate in interface org.spincast.core.json.JsonManager
    • convertToNativeType

      public Object convertToNativeType(Object originalObject)
      Specified by:
      convertToNativeType in interface org.spincast.core.json.JsonManager
    • convertJsonObjectElementToGsonJsonElement

      public com.google.gson.JsonElement convertJsonObjectElementToGsonJsonElement(Object originalObject)
    • getObjectFromGsonJsonElement

      protected Object getObjectFromGsonJsonElement(com.google.gson.JsonElement jsonElement)
    • clone

      public Object clone(Object originalObject)
      Specified by:
      clone in interface org.spincast.core.json.JsonManager
    • clone

      public Object clone(Object originalObject, boolean mutable)
      Specified by:
      clone in interface org.spincast.core.json.JsonManager
    • cloneJsonObject

      public org.spincast.core.json.JsonObject cloneJsonObject(org.spincast.core.json.JsonObject jsonObject, boolean mutable)
      Specified by:
      cloneJsonObject in interface org.spincast.core.json.JsonManager
    • cloneJsonArray

      public org.spincast.core.json.JsonArray cloneJsonArray(org.spincast.core.json.JsonArray jsonArray, boolean mutable)
      Specified by:
      cloneJsonArray in interface org.spincast.core.json.JsonManager
    • removeElementAtJsonPath

      public void removeElementAtJsonPath(org.spincast.core.json.JsonObject obj, String jsonPath)
      Specified by:
      removeElementAtJsonPath in interface org.spincast.core.json.JsonManager
    • removeElementAtJsonPath

      public void removeElementAtJsonPath(org.spincast.core.json.JsonArray array, String jsonPath)
      Specified by:
      removeElementAtJsonPath in interface org.spincast.core.json.JsonManager
    • isElementExists

      public boolean isElementExists(org.spincast.core.json.JsonObject obj, String jsonPath)
      Specified by:
      isElementExists in interface org.spincast.core.json.JsonManager
    • isElementExists

      public boolean isElementExists(org.spincast.core.json.JsonArray array, String jsonPath)
      Specified by:
      isElementExists in interface org.spincast.core.json.JsonManager
    • enumToFriendlyJsonObject

      public org.spincast.core.json.JsonObject enumToFriendlyJsonObject(Enum<?> enumValue)
      Specified by:
      enumToFriendlyJsonObject in interface org.spincast.core.json.JsonManager
    • enumsToFriendlyJsonArray

      public org.spincast.core.json.JsonArray enumsToFriendlyJsonArray(Enum<?>[] enumValues)
      Specified by:
      enumsToFriendlyJsonArray in interface org.spincast.core.json.JsonManager
    • getElementAtJsonPath

      public Object getElementAtJsonPath(org.spincast.core.json.JsonObject obj, String jsonPath)
      Specified by:
      getElementAtJsonPath in interface org.spincast.core.json.JsonManager
    • getElementAtJsonPath

      public Object getElementAtJsonPath(org.spincast.core.json.JsonObject obj, String jsonPath, Object defaultValue)
      Specified by:
      getElementAtJsonPath in interface org.spincast.core.json.JsonManager
    • getElementAtJsonPath

      public Object getElementAtJsonPath(org.spincast.core.json.JsonArray array, String jsonPath)
      Specified by:
      getElementAtJsonPath in interface org.spincast.core.json.JsonManager
    • getElementAtJsonPath

      public Object getElementAtJsonPath(org.spincast.core.json.JsonArray array, String jsonPath, Object defaultValue)
      Specified by:
      getElementAtJsonPath in interface org.spincast.core.json.JsonManager
    • putElementAtJsonPath

      public void putElementAtJsonPath(org.spincast.core.json.JsonObjectOrArray objOrArray, String jsonPath, Object value)
      Specified by:
      putElementAtJsonPath in interface org.spincast.core.json.JsonManager
    • putElementAtJsonPath

      public void putElementAtJsonPath(org.spincast.core.json.JsonObjectOrArray objOrArray, String jsonPath, Object value, boolean clone)
      Specified by:
      putElementAtJsonPath in interface org.spincast.core.json.JsonManager
    • getMaxNumberOfKeysWhenConvertingMapToJsonObject

      protected int getMaxNumberOfKeysWhenConvertingMapToJsonObject()
    • injectDependencies

      protected void injectDependencies(Object obj)
      Once the deserialization of an Object is done, we inject dependencies using Guice.