Package com.google.gson.internal.bind
Class TreeTypeAdapter<T>
java.lang.Object
com.google.gson.TypeAdapter<T>
com.google.gson.internal.bind.TreeTypeAdapter<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 ClassesModifier and TypeClassDescriptionprivate final class
private static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final TreeTypeAdapter<T>.GsonContextImpl
private TypeAdapter<T>
The delegate is lazily created because it may not be needed, and creating it may fail.private final JsonDeserializer<T>
(package private) final Gson
private final JsonSerializer<T>
private final TypeAdapterFactory
-
Constructor Summary
ConstructorsConstructorDescriptionTreeTypeAdapter
(JsonSerializer<T> serializer, JsonDeserializer<T> deserializer, Gson gson, TypeToken<T> typeToken, TypeAdapterFactory skipPast) -
Method Summary
Modifier and TypeMethodDescriptionprivate TypeAdapter<T>
delegate()
static TypeAdapterFactory
newFactory
(TypeToken<?> exactType, Object typeAdapter) Returns a new factory that will match each type againstexactType
.static TypeAdapterFactory
newFactoryWithMatchRawType
(TypeToken<?> exactType, Object typeAdapter) Returns a new factory that will match each type and its raw type againstexactType
.static TypeAdapterFactory
newTypeHierarchyFactory
(Class<?> hierarchyType, Object typeAdapter) Returns a new factory that will match each type's raw type for assignability tohierarchyType
.read
(JsonReader in) Reads one JSON value (an array, object, string, number, boolean or null) and converts it to a Java object.void
write
(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 Details
-
serializer
-
deserializer
-
gson
-
typeToken
-
skipPast
-
context
-
delegate
The delegate is lazily created because it may not be needed, and creating it may fail.
-
-
Constructor Details
-
TreeTypeAdapter
public TreeTypeAdapter(JsonSerializer<T> serializer, JsonDeserializer<T> deserializer, Gson gson, TypeToken<T> typeToken, TypeAdapterFactory skipPast)
-
-
Method Details
-
read
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 classTypeAdapter<T>
- Returns:
- the converted Java object. May be null.
- Throws:
IOException
-
write
Description copied from class:TypeAdapter
Writes one JSON value (an array, object, string, number, boolean or null) forvalue
.- Specified by:
write
in classTypeAdapter<T>
value
- the Java object to write. May be null.- Throws:
IOException
-
delegate
-
newFactory
Returns a new factory that will match each type againstexactType
. -
newFactoryWithMatchRawType
public static TypeAdapterFactory newFactoryWithMatchRawType(TypeToken<?> exactType, Object typeAdapter) Returns a new factory that will match each type and its raw type againstexactType
. -
newTypeHierarchyFactory
public static TypeAdapterFactory newTypeHierarchyFactory(Class<?> hierarchyType, Object typeAdapter) Returns a new factory that will match each type's raw type for assignability tohierarchyType
.
-