Class TypeAdapterRuntimeTypeWrapper<T>


  • final class TypeAdapterRuntimeTypeWrapper<T>
    extends TypeAdapter<T>
    • Field Detail

      • context

        private final Gson context
      • type

        private final java.lang.reflect.Type type
    • Constructor Detail

      • TypeAdapterRuntimeTypeWrapper

        TypeAdapterRuntimeTypeWrapper​(Gson context,
                                      TypeAdapter<T> delegate,
                                      java.lang.reflect.Type type)
    • Method Detail

      • read

        public T read​(JsonReader in)
               throws java.io.IOException
        Description copied from class: TypeAdapter
        Reads one JSON value (an array, object, string, number, boolean or null) and converts it to a Java object. Returns the converted object.
        Specified by:
        read in class TypeAdapter<T>
        Returns:
        the converted Java object. May be null.
        Throws:
        java.io.IOException
      • write

        public void write​(JsonWriter out,
                          T value)
                   throws java.io.IOException
        Description copied from class: TypeAdapter
        Writes one JSON value (an array, object, string, number, boolean or null) for value.
        Specified by:
        write in class TypeAdapter<T>
        value - the Java object to write. May be null.
        Throws:
        java.io.IOException
      • isReflective

        private static boolean isReflective​(TypeAdapter<?> typeAdapter)
        Returns whether the type adapter uses reflection.
        Parameters:
        typeAdapter - the type adapter to check.
      • getRuntimeTypeIfMoreSpecific

        private static java.lang.reflect.Type getRuntimeTypeIfMoreSpecific​(java.lang.reflect.Type type,
                                                                           java.lang.Object value)
        Finds a compatible runtime type if it is more specific