Class TypeAdapterRuntimeTypeWrapper<T>

java.lang.Object
com.google.gson.TypeAdapter<T>
com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper<T>

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

    • context

      private final Gson context
    • delegate

      private final TypeAdapter<T> delegate
    • type

      private final Type type
  • Constructor Details

    • TypeAdapterRuntimeTypeWrapper

      TypeAdapterRuntimeTypeWrapper(Gson context, TypeAdapter<T> delegate, Type type)
  • Method Details

    • read

      public T read(JsonReader in) throws 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:
      IOException
    • write

      public void write(JsonWriter out, T value) throws 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>
      Parameters:
      value - the Java object to write. May be null.
      Throws:
      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 Type getRuntimeTypeIfMoreSpecific(Type type, Object value)
      Finds a compatible runtime type if it is more specific