java.lang.Object
com.google.gson.TypeAdapter<T>
com.google.gson.internal.bind.SerializationDelegatingTypeAdapter<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 boolean
private final JsonSerializer<T>
private final TypeAdapterFactory
-
Constructor Summary
ConstructorsConstructorDescriptionTreeTypeAdapter
(JsonSerializer<T> serializer, JsonDeserializer<T> deserializer, Gson gson, TypeToken<T> typeToken, TypeAdapterFactory skipPast) TreeTypeAdapter
(JsonSerializer<T> serializer, JsonDeserializer<T> deserializer, Gson gson, TypeToken<T> typeToken, TypeAdapterFactory skipPast, boolean nullSafe) -
Method Summary
Modifier and TypeMethodDescriptionprivate TypeAdapter<T>
delegate()
Returns the type adapter which is used for serialization.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
-
nullSafe
private final boolean nullSafe -
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, boolean nullSafe) -
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
-
getSerializationDelegate
Returns the type adapter which is used for serialization. Returnsthis
if thisTreeTypeAdapter
has aserializer
; otherwise returns the delegate.- Specified by:
getSerializationDelegate
in classSerializationDelegatingTypeAdapter<T>
-
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
.
-