Class GsonJsonProvider

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static com.google.gson.Gson gson  
      private static com.google.gson.JsonParser parser  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object createArray()
      Creates a provider specific json array
      private com.google.gson.JsonElement createJsonElement​(java.lang.Object o)  
      java.lang.Object createMap()
      Creates a provider specific json object
      java.lang.Object getArrayIndex​(java.lang.Object obj, int idx)
      Extracts a value from an array
      java.lang.Object getMapValue​(java.lang.Object obj, java.lang.String key)
      Extracts a value from an map
      java.util.Collection<java.lang.String> getPropertyKeys​(java.lang.Object obj)
      Returns the keys from the given object
      boolean isArray​(java.lang.Object obj)
      checks if object is an array
      boolean isMap​(java.lang.Object obj)
      checks if object is a map (i.e.
      int length​(java.lang.Object obj)
      Get the length of an array or object
      java.lang.Object parse​(java.io.InputStream jsonStream, java.lang.String charset)
      Parse the given json string
      java.lang.Object parse​(java.lang.String json)
      Parse the given json string
      void removeProperty​(java.lang.Object obj, java.lang.Object key)
      Removes a value in an object or array
      void setArrayIndex​(java.lang.Object array, int index, java.lang.Object newValue)
      Sets a value in an array.
      void setProperty​(java.lang.Object obj, java.lang.Object key, java.lang.Object value)
      Sets a value in an object
      java.lang.Iterable<?> toIterable​(java.lang.Object obj)
      Converts given array to an Iterable
      java.lang.String toJson​(java.lang.Object obj)
      Convert given json object to a json string
      private com.google.gson.JsonArray toJsonArray​(java.lang.Object o)  
      private com.google.gson.JsonElement toJsonElement​(java.lang.Object o)  
      private com.google.gson.JsonObject toJsonObject​(java.lang.Object o)  
      java.lang.Object unwrap​(java.lang.Object o)
      Extracts a value from a wrapper object.
      private static java.lang.Number unwrapNumber​(java.lang.Number n)  
      • Methods inherited from class java.lang.Object

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

      • parser

        private static final com.google.gson.JsonParser parser
      • gson

        private static final com.google.gson.Gson gson
    • Constructor Detail

      • GsonJsonProvider

        public GsonJsonProvider()
    • Method Detail

      • unwrap

        public java.lang.Object unwrap​(java.lang.Object o)
        Description copied from interface: JsonProvider
        Extracts a value from a wrapper object. For JSON providers that to not wrap values, this will usually be the object itself.
        Specified by:
        unwrap in interface JsonProvider
        Overrides:
        unwrap in class AbstractJsonProvider
        Parameters:
        o - a value holder object
        Returns:
        the unwrapped value.
      • unwrapNumber

        private static java.lang.Number unwrapNumber​(java.lang.Number n)
      • parse

        public java.lang.Object parse​(java.lang.String json)
                               throws InvalidJsonException
        Description copied from interface: JsonProvider
        Parse the given json string
        Parameters:
        json - json string to parse
        Returns:
        Object representation of json
        Throws:
        InvalidJsonException
      • parse

        public java.lang.Object parse​(java.io.InputStream jsonStream,
                                      java.lang.String charset)
                               throws InvalidJsonException
        Description copied from interface: JsonProvider
        Parse the given json string
        Parameters:
        jsonStream - input stream to parse
        charset - charset to use
        Returns:
        Object representation of json
        Throws:
        InvalidJsonException
      • toJson

        public java.lang.String toJson​(java.lang.Object obj)
        Description copied from interface: JsonProvider
        Convert given json object to a json string
        Parameters:
        obj - object to transform
        Returns:
        json representation of object
      • createArray

        public java.lang.Object createArray()
        Description copied from interface: JsonProvider
        Creates a provider specific json array
        Returns:
        new array
      • createMap

        public java.lang.Object createMap()
        Description copied from interface: JsonProvider
        Creates a provider specific json object
        Returns:
        new object
      • setArrayIndex

        public void setArrayIndex​(java.lang.Object array,
                                  int index,
                                  java.lang.Object newValue)
        Description copied from interface: JsonProvider
        Sets a value in an array. If the array is too small, the provider is supposed to enlarge it.
        Specified by:
        setArrayIndex in interface JsonProvider
        Overrides:
        setArrayIndex in class AbstractJsonProvider
        Parameters:
        array - an array
        index - index
        newValue - the new value
      • setProperty

        public void setProperty​(java.lang.Object obj,
                                java.lang.Object key,
                                java.lang.Object value)
        Description copied from class: AbstractJsonProvider
        Sets a value in an object
        Specified by:
        setProperty in interface JsonProvider
        Overrides:
        setProperty in class AbstractJsonProvider
        Parameters:
        obj - an object
        key - a String key
        value - the value to set
      • isMap

        public boolean isMap​(java.lang.Object obj)
        Description copied from class: AbstractJsonProvider
        checks if object is a map (i.e. no array)
        Specified by:
        isMap in interface JsonProvider
        Overrides:
        isMap in class AbstractJsonProvider
        Parameters:
        obj - object to check
        Returns:
        true if the object is a map
      • length

        public int length​(java.lang.Object obj)
        Description copied from class: AbstractJsonProvider
        Get the length of an array or object
        Specified by:
        length in interface JsonProvider
        Overrides:
        length in class AbstractJsonProvider
        Parameters:
        obj - an array or an object
        Returns:
        the number of entries in the array or object
      • toIterable

        public java.lang.Iterable<?> toIterable​(java.lang.Object obj)
        Description copied from class: AbstractJsonProvider
        Converts given array to an Iterable
        Specified by:
        toIterable in interface JsonProvider
        Overrides:
        toIterable in class AbstractJsonProvider
        Parameters:
        obj - an array
        Returns:
        an Iterable that iterates over the entries of an array
      • createJsonElement

        private com.google.gson.JsonElement createJsonElement​(java.lang.Object o)
      • toJsonArray

        private com.google.gson.JsonArray toJsonArray​(java.lang.Object o)
      • toJsonObject

        private com.google.gson.JsonObject toJsonObject​(java.lang.Object o)
      • toJsonElement

        private com.google.gson.JsonElement toJsonElement​(java.lang.Object o)