All Downloads are FREE. Search and download functionalities are using the official Maven repository.

public.javadoc.org.spincast.plugins.gson.SpincastGsonManager.html Maven / Gradle / Ivy

There is a newer version: 2.2.0
Show newest version






SpincastGsonManager (org.spincast:spincast-framework 1.14.0 API)












org.spincast.plugins.gson

Class SpincastGsonManager

    • Constructor Detail

      • SpincastGsonManager

        @Inject
        public SpincastGsonManager(com.google.gson.JsonDeserializer<JsonObject> jsonObjectDeserializer,
                                           com.google.gson.JsonDeserializer<JsonArray> jsonArrayDeserializer,
                                           com.google.gson.JsonSerializer<JsonObject> jsonObjectSerializer,
                                           com.google.gson.JsonSerializer<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,
                                           JsonPathUtils jsonPathUtils,
                                           JsonObjectFactory jsonObjectFactory,
                                           SpincastConfig spincastConfig,
                                           SpincastUtils spincastUtils,
                                           FormFactory formFactory,
                                           com.google.inject.Provider<com.google.inject.Injector> guiceProvider)
    • Method Detail

      • getJsonObjectDeserializer

        protected com.google.gson.JsonDeserializer<JsonObject> getJsonObjectDeserializer()
      • getJsonArrayDeserializer

        protected com.google.gson.JsonDeserializer<JsonArray> getJsonArrayDeserializer()
      • getJsonObjectSerializer

        protected com.google.gson.JsonSerializer<JsonObject> getJsonObjectSerializer()
      • getJsonArraySerializer

        protected com.google.gson.JsonSerializer<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()
      • getFormFactory

        protected 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)
      • fromMap

        public JsonObject fromMap(Map<String,?> params)
        Description copied from interface: JsonManager
        Creates an empty JsonObject based on the specified Map. An attempt will be made to create a deep copy of every elements so a modification won't affect any external references and vice-versa.

        The keys will be used as is, not parsed as JsonPaths.

        Specified by:
        fromMap in interface JsonManager
        Returns:
        the JsonObject version of the parameter or null if the parameter is null.
      • fromMap

        public JsonObject fromMap(Map<String,?> params,
                                  boolean parseKeysAsJsonPaths)
        Description copied from interface: JsonManager
        Creates a JsonObject based on the specified Map. An attempt will be made to create a deep copy of every elements so a modification won't affect any external references and vice-versa.
        Specified by:
        fromMap in interface JsonManager
        parseKeysAsJsonPaths - if true, the keys will be parsed as JsonPaths, otherwise they will ne used as is.
        Returns:
        the JsonObject version of the parameter or null if the parameter is null.
      • fromInputStream

        public JsonObject fromInputStream(InputStream inputStream)
        Description copied from interface: JsonManager
        Creates a JsonObject from an inputStream.
        Specified by:
        fromInputStream in interface JsonManager
        Returns:
        the JsonObject version of the parameter or null if the parameter is null.
      • getFromInputStreamEncoding

        protected String getFromInputStreamEncoding()
      • fromFile

        public JsonObject fromFile(File jsonFile)
        Description copied from interface: JsonManager
        Creates a JsonObject from a Json file.
        Specified by:
        fromFile in interface JsonManager
        Returns:
        the deserialized JsonObject or null if the file is null or doesn't exist.
      • getFromFileEncoding

        protected String getFromFileEncoding()
      • fromFile

        public JsonObject fromFile(String jsonFilePath)
        Description copied from interface: JsonManager
        Creates a JsonObject from the path of a file, on the file system.
        Specified by:
        fromFile in interface JsonManager
        Returns:
        the deserialized JsonObject or null if the file is null or doesn't exist.
      • fromClasspathFile

        public JsonObject fromClasspathFile(String path)
        Description copied from interface: JsonManager
        Creates a JsonObject from a classpath Json file.
        Specified by:
        fromClasspathFile in interface JsonManager
        Returns:
        the deserialized JsonObject or null if the file doesn't exist.
      • getFromClasspathFileEncoding

        protected String getFromClasspathFileEncoding()
      • fromStringToMap

        public Map<String,Object> fromStringToMap(String jsonString)
        Description copied from interface: JsonManager
        Creates a Map<String, Object> from a Json String.
        Specified by:
        fromStringToMap in interface JsonManager
        Returns:
        the Map version of the parameter or null if the parameter is null.
      • fromString

        public JsonObject fromString(String jsonString)
        Description copied from interface: JsonManager
        Creates a JsonObject from a Json String.
        Specified by:
        fromString in interface JsonManager
        Returns:
        the JsonObject version of the parameter or null if the parameter is null.
      • fromString

        public <T> T fromString(String jsonString,
                                Class<T> clazz)
        Description copied from interface: JsonManager
        Creates an instance of the specified T type from a Json String.
        Specified by:
        fromString in interface JsonManager
        Returns:
        the deserialized version of the parameter or null if the parameter is null.
      • fromInputStream

        public <T> T fromInputStream(InputStream inputStream,
                                     Class<T> clazz)
        Description copied from interface: JsonManager
        Creates an instance of the specified T type from a Json inputStream.
        Specified by:
        fromInputStream in interface JsonManager
        Returns:
        the deserialized version of the parameter or null if the parameter is null.
      • fromStringArray

        public JsonArray fromStringArray(String jsonString)
        Description copied from interface: JsonManager
        Creates a JsonArray from a Json String.
        Specified by:
        fromStringArray in interface JsonManager
        Returns:
        the JsonArray version of the parameter or null if the parameter is null.
      • fromListArray

        public JsonArray fromListArray(List<?> elements)
        Description copied from interface: JsonManager
        Creates a JsonArray from a List of elements.
        Specified by:
        fromListArray in interface JsonManager
        Returns:
        the JsonArray version of the parameter or null if the parameter is null.
      • fromInputStreamArray

        public JsonArray fromInputStreamArray(InputStream inputStream)
        Description copied from interface: JsonManager
        Creates a JsonArray from an inputStream.
        Specified by:
        fromInputStreamArray in interface JsonManager
        Returns:
        the JsonArray version of the parameter or null if the parameter is null.
      • toJsonString

        public String toJsonString(Object obj,
                                   boolean pretty)
        Description copied from interface: JsonManager
        Gets the Json String representation of the specified object.
        Specified by:
        toJsonString in interface JsonManager
        pretty - if true, the generated String will be formatted.
      • convertToNativeType

        public Object convertToNativeType(Object originalObject)
        Description copied from interface: JsonManager
        Convert a random object to a valid native JsonObject type, if it's not already.
        Specified by:
        convertToNativeType in interface 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)
        Description copied from interface: JsonManager
        Tries to clone an object to a JsonObject or a JsonArray, if the object is not of a primitive type (or BigDecimal).

        The cloning is made by serializing the Object to a Json string, and deserializing back. So any (de)serialization rules apply.

        The non primitive object will be cloned to a JsonArray if it is a :

        • JsonArray
        • Collection
        • Array

        Specified by:
        clone in interface JsonManager
      • clone

        public Object clone(Object originalObject,
                            boolean mutable)
        Description copied from interface: JsonManager
        Tries to clone an object to a JsonObject or a JsonArray, if the object is not of a primitive type (or BigDecimal).

        The cloning is made by serializing the Object to a Json string, and deserializing back. So any (de)serialization rules apply.

        The non primitive object will be cloned to a JsonArray if it is a :

        • JsonArray
        • Collection
        • Array

        Specified by:
        clone in interface JsonManager
        mutable - if false, the resulting Object and all its potential children will be immutable.
      • cloneJsonObject

        public JsonObject cloneJsonObject(JsonObject jsonObject,
                                          boolean mutable)
        Description copied from interface: JsonManager
        Deep copy of the JsonObject, so any modification to the original won't affect the clone, and vice-versa.

        Note that if the current object is immutable and the mutable parameter is set to false, then the current object will be returned as is, since no cloning is required.

        Specified by:
        cloneJsonObject in interface JsonManager
        mutable - if true the resulting array and all its children will be mutable, otherwise they will all be immutable.
      • cloneJsonArray

        public JsonArray cloneJsonArray(JsonArray jsonArray,
                                        boolean mutable)
        Description copied from interface: JsonManager
        Deep copy of the JsonArray, so any modification to the original won't affect the clone, and vice-versa.

        Note that if the current object is immutable and the mutable parameter is set to false, then the current array will be returned as is, since no cloning is required.

        Specified by:
        cloneJsonArray in interface JsonManager
        mutable - if true the resulting array and all its children will be mutable, otherwise they will all be immutable.
      • isElementExists

        public boolean isElementExists(JsonObject obj,
                                       String jsonPath)
        Description copied from interface: JsonManager
        Does the object contain an element at the specified JsonPath (even if null)?
        Specified by:
        isElementExists in interface JsonManager
      • isElementExists

        public boolean isElementExists(JsonArray array,
                                       String jsonPath)
        Description copied from interface: JsonManager
        Does the array contain an element at the specified JsonPath (even if null)?
        Specified by:
        isElementExists in interface JsonManager
      • enumToFriendlyJsonObject

        public JsonObject enumToFriendlyJsonObject(Enum<?> enumValue)
        Description copied from interface: JsonManager
        Convert the enum value to a JsonObject that has a ".name" property (the name() of the enum) and a ".label" property (the toString() of the enum)
        Specified by:
        enumToFriendlyJsonObject in interface JsonManager
      • enumsToFriendlyJsonArray

        public JsonArray enumsToFriendlyJsonArray(Enum<?>[] enumValues)
        Description copied from interface: JsonManager
        Convert the enums to an array of JsonObjects that have a ".name" property (the name() of the enum) and a ".label" property (the toString() of the enum).
        Specified by:
        enumsToFriendlyJsonArray in interface JsonManager
      • putElementAtJsonPath

        public void putElementAtJsonPath(JsonObjectOrArray objOrArray,
                                         String jsonPath,
                                         Object value)
        Description copied from interface: JsonManager
        Puts an element in the object at the specified JsonPath.

        All the hierarchy to the end of the JsonPath is created if required.

        Specified by:
        putElementAtJsonPath in interface JsonManager
      • putElementAtJsonPath

        public void putElementAtJsonPath(JsonObjectOrArray objOrArray,
                                         String jsonPath,
                                         Object value,
                                         boolean clone)
        Description copied from interface: JsonManager
        Puts a clone of the element in the object at the specified JsonPath.

        All the hierarchy to the end of the JsonPath is created if required.

        Specified by:
        putElementAtJsonPath in interface JsonManager
      • getMaxNumberOfKeysWhenConvertingMapToJsonObject

        protected int getMaxNumberOfKeysWhenConvertingMapToJsonObject()
      • injectDependencies

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

Copyright © 2019. All rights reserved.





© 2015 - 2024 Weber Informatics LLC | Privacy Policy