- java.lang.Object
-
- com.google.gson.TypeAdapter<T>
-
- com.google.gson.internal.bind.TreeTypeAdapter<T>
-
public final class TreeTypeAdapter<T> extends TypeAdapter<T>
Adapts a Gson 1.x tree-style adapter as a streaming TypeAdapter. Since the tree adapter may be serialization-only or deserialization-only, this class has a facility to lookup a delegate type adapter on demand.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classTreeTypeAdapter.GsonContextImplprivate static classTreeTypeAdapter.SingleTypeFactory
-
Field Summary
Fields Modifier and Type Field Description private TreeTypeAdapter.GsonContextImplcontextprivate TypeAdapter<T>delegateThe delegate is lazily created because it may not be needed, and creating it may fail.private JsonDeserializer<T>deserializer(package private) Gsongsonprivate JsonSerializer<T>serializerprivate TypeAdapterFactoryskipPastprivate TypeToken<T>typeToken
-
Constructor Summary
Constructors Constructor Description TreeTypeAdapter(JsonSerializer<T> serializer, JsonDeserializer<T> deserializer, Gson gson, TypeToken<T> typeToken, TypeAdapterFactory skipPast)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private TypeAdapter<T>delegate()static TypeAdapterFactorynewFactory(TypeToken<?> exactType, java.lang.Object typeAdapter)Returns a new factory that will match each type againstexactType.static TypeAdapterFactorynewFactoryWithMatchRawType(TypeToken<?> exactType, java.lang.Object typeAdapter)Returns a new factory that will match each type and its raw type againstexactType.static TypeAdapterFactorynewTypeHierarchyFactory(java.lang.Class<?> hierarchyType, java.lang.Object typeAdapter)Returns a new factory that will match each type's raw type for assignability tohierarchyType.Tread(JsonReader in)Reads one JSON value (an array, object, string, number, boolean or null) and converts it to a Java object.voidwrite(JsonWriter out, T value)Writes one JSON value (an array, object, string, number, boolean or null) forvalue.-
Methods inherited from class com.google.gson.TypeAdapter
fromJson, fromJson, fromJsonTree, nullSafe, toJson, toJson, toJsonTree
-
-
-
-
Field Detail
-
serializer
private final JsonSerializer<T> serializer
-
deserializer
private final JsonDeserializer<T> deserializer
-
gson
final Gson gson
-
skipPast
private final TypeAdapterFactory skipPast
-
context
private final TreeTypeAdapter.GsonContextImpl context
-
delegate
private TypeAdapter<T> delegate
The delegate is lazily created because it may not be needed, and creating it may fail.
-
-
Constructor Detail
-
TreeTypeAdapter
public TreeTypeAdapter(JsonSerializer<T> serializer, JsonDeserializer<T> deserializer, Gson gson, TypeToken<T> typeToken, TypeAdapterFactory skipPast)
-
-
Method Detail
-
read
public T read(JsonReader in) throws java.io.IOException
Description copied from class:TypeAdapterReads one JSON value (an array, object, string, number, boolean or null) and converts it to a Java object. Returns the converted object.- Specified by:
readin classTypeAdapter<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:TypeAdapterWrites one JSON value (an array, object, string, number, boolean or null) forvalue.- Specified by:
writein classTypeAdapter<T>value- the Java object to write. May be null.- Throws:
java.io.IOException
-
delegate
private TypeAdapter<T> delegate()
-
newFactory
public static TypeAdapterFactory newFactory(TypeToken<?> exactType, java.lang.Object typeAdapter)
Returns a new factory that will match each type againstexactType.
-
newFactoryWithMatchRawType
public static TypeAdapterFactory newFactoryWithMatchRawType(TypeToken<?> exactType, java.lang.Object typeAdapter)
Returns a new factory that will match each type and its raw type againstexactType.
-
newTypeHierarchyFactory
public static TypeAdapterFactory newTypeHierarchyFactory(java.lang.Class<?> hierarchyType, java.lang.Object typeAdapter)
Returns a new factory that will match each type's raw type for assignability tohierarchyType.
-
-