Class GsonSerializationAdapter<T>

  • All Implemented Interfaces:
    com.inductiveautomation.ignition.common.gson.JsonDeserializer<T>, com.inductiveautomation.ignition.common.gson.JsonSerializer<T>

    public class GsonSerializationAdapter<T>
    extends java.lang.Object
    implements com.inductiveautomation.ignition.common.gson.JsonSerializer<T>, com.inductiveautomation.ignition.common.gson.JsonDeserializer<T>
    • Constructor Summary

      Constructors 
      Constructor Description
      GsonSerializationAdapter​(java.util.function.BiFunction<T,​com.inductiveautomation.ignition.common.gson.JsonSerializationContext,​com.inductiveautomation.ignition.common.gson.JsonElement> serialize, java.util.function.BiFunction<com.inductiveautomation.ignition.common.gson.JsonElement,​com.inductiveautomation.ignition.common.gson.JsonDeserializationContext,​T> deserialize)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      T deserialize​(com.inductiveautomation.ignition.common.gson.JsonElement json, java.lang.reflect.Type typeOfT, com.inductiveautomation.ignition.common.gson.JsonDeserializationContext context)  
      static <T> GsonSerializationAdapter<T> makeAdapter​(java.util.function.Function<T,​com.inductiveautomation.ignition.common.gson.JsonElement> serialize, java.util.function.Function<com.inductiveautomation.ignition.common.gson.JsonElement,​T> deserialize)
      Make a simple gson serialization/deserialization adpter that doesn't require the serialization or deserialization contexts
      com.inductiveautomation.ignition.common.gson.JsonElement serialize​(T src, java.lang.reflect.Type typeOfSrc, com.inductiveautomation.ignition.common.gson.JsonSerializationContext context)  
      • Methods inherited from class java.lang.Object

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

      • GsonSerializationAdapter

        public GsonSerializationAdapter​(java.util.function.BiFunction<T,​com.inductiveautomation.ignition.common.gson.JsonSerializationContext,​com.inductiveautomation.ignition.common.gson.JsonElement> serialize,
                                        java.util.function.BiFunction<com.inductiveautomation.ignition.common.gson.JsonElement,​com.inductiveautomation.ignition.common.gson.JsonDeserializationContext,​T> deserialize)
    • Method Detail

      • deserialize

        public T deserialize​(com.inductiveautomation.ignition.common.gson.JsonElement json,
                             java.lang.reflect.Type typeOfT,
                             com.inductiveautomation.ignition.common.gson.JsonDeserializationContext context)
                      throws com.inductiveautomation.ignition.common.gson.JsonParseException
        Specified by:
        deserialize in interface com.inductiveautomation.ignition.common.gson.JsonDeserializer<T>
        Throws:
        com.inductiveautomation.ignition.common.gson.JsonParseException
      • serialize

        public com.inductiveautomation.ignition.common.gson.JsonElement serialize​(T src,
                                                                                  java.lang.reflect.Type typeOfSrc,
                                                                                  com.inductiveautomation.ignition.common.gson.JsonSerializationContext context)
        Specified by:
        serialize in interface com.inductiveautomation.ignition.common.gson.JsonSerializer<T>
      • makeAdapter

        public static <T> GsonSerializationAdapter<T> makeAdapter​(java.util.function.Function<T,​com.inductiveautomation.ignition.common.gson.JsonElement> serialize,
                                                                  java.util.function.Function<com.inductiveautomation.ignition.common.gson.JsonElement,​T> deserialize)
        Make a simple gson serialization/deserialization adpter that doesn't require the serialization or deserialization contexts