Top Description Inners Fields Constructors Methods
com.google.gson.internal.bind

public final Class JsonAdapterAnnotationTypeAdapterFactory

extends Object
implements TypeAdapterFactory
Class Inheritance
All Implemented Interfaces
com.google.gson.TypeAdapterFactory
Imports
com.google.gson.Gson, .JsonDeserializer, .JsonSerializer, .TypeAdapter, .TypeAdapterFactory, com.google.gson.annotations.JsonAdapter, com.google.gson.internal.ConstructorConstructor, com.google.gson.reflect.TypeToken, java.util.Objects, java.util.concurrent.ConcurrentHashMap, .ConcurrentMap

Given a type T, looks for the annotation JsonAdapter and uses an instance of the specified class as the default type adapter.
Since
2.3

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private final ConcurrentMap<Class<?>, TypeAdapterFactory>
adapterFactoryMap

For a class, if it is annotated with @JsonAdapter and refers to a TypeAdapterFactory, stores the factory instance in case it has been requested already.

private final ConstructorConstructor
private static final TypeAdapterFactory
TREE_TYPE_CLASS_DUMMY_FACTORY

Factory used for TreeTypeAdapters created for @JsonAdapter on a class.

private static final TypeAdapterFactory
TREE_TYPE_FIELD_DUMMY_FACTORY

Factory used for TreeTypeAdapters created for @JsonAdapter on a field.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public <T> TypeAdapter<T>
create(Gson gson, TypeToken<T> targetType)

Implements com.google.gson.TypeAdapterFactory.create.

Returns a type adapter for type, or null if this factory doesn't support type.

private static Object
createAdapter(ConstructorConstructor constructorConstructor, Class<?> adapterClass)

private static JsonAdapter
getAnnotation(Class<?> rawType)

pack-priv TypeAdapter<?>
getTypeAdapter(ConstructorConstructor constructorConstructor, Gson gson, TypeToken<?> type, JsonAdapter annotation, boolean isClassAnnotation)

public boolean
isClassJsonAdapterFactory(TypeToken<?> type, TypeAdapterFactory factory)

Returns whether factory is a type adapter factory created for @JsonAdapter placed on type.

private TypeAdapterFactory
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

adapterFactoryMapback to summary
private final ConcurrentMap<Class<?>, TypeAdapterFactory> adapterFactoryMap

For a class, if it is annotated with @JsonAdapter and refers to a TypeAdapterFactory, stores the factory instance in case it has been requested already. Has to be a ConcurrentMap because Gson guarantees to be thread-safe.

constructorConstructorback to summary
private final ConstructorConstructor constructorConstructor
TREE_TYPE_CLASS_DUMMY_FACTORYback to summary
private static final TypeAdapterFactory TREE_TYPE_CLASS_DUMMY_FACTORY

Factory used for TreeTypeAdapters created for @JsonAdapter on a class.

TREE_TYPE_FIELD_DUMMY_FACTORYback to summary
private static final TypeAdapterFactory TREE_TYPE_FIELD_DUMMY_FACTORY

Factory used for TreeTypeAdapters created for @JsonAdapter on a field.

Constructor Detail

JsonAdapterAnnotationTypeAdapterFactoryback to summary
public JsonAdapterAnnotationTypeAdapterFactory(ConstructorConstructor constructorConstructor)

Method Detail

createback to summary
public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> targetType)

Implements com.google.gson.TypeAdapterFactory.create.

Doc from com.google.gson.TypeAdapterFactory.create.

Returns a type adapter for type, or null if this factory doesn't support type.

Annotations
@SuppressWarnings:unchecked
@Override
createAdapterback to summary
private static Object createAdapter(ConstructorConstructor constructorConstructor, Class<?> adapterClass)
getAnnotationback to summary
private static JsonAdapter getAnnotation(Class<?> rawType)
getTypeAdapterback to summary
pack-priv TypeAdapter<?> getTypeAdapter(ConstructorConstructor constructorConstructor, Gson gson, TypeToken<?> type, JsonAdapter annotation, boolean isClassAnnotation)
isClassJsonAdapterFactoryback to summary
public boolean isClassJsonAdapterFactory(TypeToken<?> type, TypeAdapterFactory factory)

Returns whether factory is a type adapter factory created for @JsonAdapter placed on type.

putFactoryAndGetCurrentback to summary
private TypeAdapterFactory putFactoryAndGetCurrent(Class<?> rawType, TypeAdapterFactory factory)
com.google.gson.internal.bind back to summary

private Class JsonAdapterAnnotationTypeAdapterFactory.DummyTypeAdapterFactory

extends Object
implements TypeAdapterFactory
Class Inheritance
  • java.lang.Object
  • com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory.DummyTypeAdapterFactory
All Implemented Interfaces
com.google.gson.TypeAdapterFactory

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public <T> TypeAdapter<T>
create(Gson gson, TypeToken<T> type)

Implements com.google.gson.TypeAdapterFactory.create.

Returns a type adapter for type, or null if this factory doesn't support type.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

DummyTypeAdapterFactoryback to summary
private DummyTypeAdapterFactory()

Method Detail

createback to summary
public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type)

Implements com.google.gson.TypeAdapterFactory.create.

Doc from com.google.gson.TypeAdapterFactory.create.

Returns a type adapter for type, or null if this factory doesn't support type.

Annotations
@Override