public abstract class BeanUtils
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
BeanUtils.GenericArrayTypeImpl |
(package private) static class |
BeanUtils.ParameterizedTypeImpl |
(package private) static class |
BeanUtils.WildcardTypeImpl
The WildcardType interface supports multiple upper bounds and multiple
lower bounds.
|
| Modifier and Type | Field and Description |
|---|---|
(package private) static java.util.concurrent.ConcurrentMap<java.lang.Class,java.lang.reflect.Constructor[]> |
constructorCache |
(package private) static java.util.concurrent.ConcurrentMap<java.lang.Class,java.lang.reflect.Field[]> |
declaredFieldCache |
(package private) static java.lang.reflect.Type[] |
EMPTY_TYPE_ARRAY |
(package private) static java.util.concurrent.ConcurrentMap<java.lang.Class,java.lang.reflect.Field[]> |
fieldCache |
(package private) static java.util.concurrent.ConcurrentMap<java.lang.Class,java.util.Map<java.lang.String,java.lang.reflect.Field>> |
fieldMapCache |
(package private) static long[] |
IGNORE_CLASS_HASH_CODES |
(package private) static java.util.concurrent.ConcurrentMap<java.lang.Class,java.lang.reflect.Method[]> |
methodCache |
private static java.lang.Class |
RECORD_CLASS |
private static java.lang.reflect.Method |
RECORD_COMPONENT_GET_NAME |
private static java.lang.reflect.Method |
RECORD_GET_RECORD_COMPONENTS |
static java.lang.String |
SUPER |
| Constructor and Description |
|---|
BeanUtils() |
| Modifier and Type | Method and Description |
|---|---|
static void |
annotationMethods(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer) |
static java.lang.reflect.GenericArrayType |
arrayOf(java.lang.reflect.Type componentType)
Returns an array type whose elements are all instances of
componentType. |
static java.lang.reflect.Method |
buildMethod(java.lang.Class objectClass,
java.lang.String methodName) |
static java.lang.reflect.Type |
canonicalize(java.lang.reflect.Type type)
Returns a type that is functionally equal but not necessarily equal
according to
Object.equals(). |
(package private) static void |
checkArgument(boolean condition) |
(package private) static void |
checkNotPrimitive(java.lang.reflect.Type type) |
static void |
cleanupCache(java.lang.Class objectClass) |
static void |
cleanupCache(java.lang.ClassLoader classLoader) |
static void |
constructor(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Constructor> constructorConsumer) |
(package private) static java.lang.String |
dashes(java.lang.String methodName,
int prefixLength,
boolean upper) |
static void |
declaredFields(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Field> fieldConsumer)
ignore static fields
|
private static java.lang.Class<?> |
declaringClassOf(java.lang.reflect.TypeVariable<?> typeVariable)
Returns the declaring class of
typeVariable, or null if it was not declared by
a class. |
(package private) static java.lang.String |
dots(java.lang.String methodName,
int prefixLength,
boolean upper) |
(package private) static boolean |
equal(java.lang.Object a,
java.lang.Object b) |
static boolean |
equals(java.lang.reflect.Type a,
java.lang.reflect.Type b)
Returns true if
a and b are equal. |
static java.lang.String |
fieldName(java.lang.String methodName,
java.lang.String namingStrategy) |
static void |
fields(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Field> fieldReaders) |
static <A extends java.lang.annotation.Annotation> |
findAnnotation(java.lang.reflect.AnnotatedElement element,
java.lang.Class<A> annotationType)
Find the first annotation of
annotationType that is either
directly present, meta-present, or indirectly
present on the supplied element. |
private static <A extends java.lang.annotation.Annotation> |
findAnnotation(java.lang.reflect.AnnotatedElement element,
java.lang.Class<A> annotationType,
boolean inherited,
java.util.Set<java.lang.annotation.Annotation> visited)
Find the first annotation of
annotationType that is either
directly present, meta-present, or indirectly
present on the supplied element. |
static <A extends java.lang.annotation.Annotation> |
findAnnotation(java.lang.annotation.Annotation annotation,
java.lang.Class<A> annotationType)
If the
annotation's annotationType is not annotationType, then to find the
first annotation of annotationType that is either
directly present, meta-present, or indirectly
present on the supplied element. |
private static <A extends java.lang.annotation.Annotation> |
findMetaAnnotation(java.lang.Class<A> annotationType,
java.lang.annotation.Annotation[] candidates,
boolean inherited,
java.util.Set<java.lang.annotation.Annotation> visited)
Find meta-present on indirectly present annotations.
|
static java.lang.reflect.Method |
fluentSetter(java.lang.Class objectClass,
java.lang.String methodName,
java.lang.Class paramType) |
static java.lang.annotation.Annotation[] |
getAnnotations(java.lang.reflect.AnnotatedElement element) |
static java.lang.reflect.Constructor[] |
getConstructor(java.lang.Class objectClass) |
static java.lang.reflect.Field |
getDeclaredField(java.lang.Class objectClass,
java.lang.String fieldName) |
static java.lang.reflect.Constructor |
getDefaultConstructor(java.lang.Class objectClass,
boolean includeNoneStaticMember) |
static java.lang.String[] |
getEnumAnnotationNames(java.lang.Class enumClass) |
static java.lang.reflect.Member |
getEnumValueField(java.lang.Class enumClass,
ObjectCodecProvider mixinProvider) |
static java.lang.reflect.Field |
getField(java.lang.Class objectClass,
java.lang.reflect.Method method) |
static java.lang.reflect.Field |
getField(java.lang.Class objectClass,
java.lang.String fieldName) |
static java.lang.reflect.Type |
getFieldType(TypeReference typeReference,
java.lang.Class<?> raw,
java.lang.reflect.Member field,
java.lang.reflect.Type fieldType) |
(package private) static java.lang.reflect.Type |
getGenericSupertype(java.lang.reflect.Type context,
java.lang.Class<?> rawType,
java.lang.Class<?> toResolve)
Returns the generic supertype for
supertype. |
static java.lang.reflect.Method |
getMethod(java.lang.Class objectClass,
java.lang.reflect.Method signature) |
static java.lang.reflect.Method |
getMethod(java.lang.Class objectClass,
java.lang.String methodName) |
private static java.lang.reflect.Method[] |
getMethods(java.lang.Class objectClass) |
static java.lang.reflect.Type |
getParamType(TypeReference type,
java.lang.Class<?> raw,
java.lang.Class declaringClass,
java.lang.reflect.Parameter field,
java.lang.reflect.Type fieldType) |
static java.lang.Class<?> |
getRawType(java.lang.reflect.Type type) |
static java.lang.String[] |
getRecordFieldNames(java.lang.Class<?> recordType) |
private static java.lang.reflect.Method[] |
getRecordMethods(java.lang.Class<?> recordClass) |
static java.lang.reflect.Method |
getSetter(java.lang.Class objectClass,
java.lang.String methodName) |
static java.lang.String |
getterName(java.lang.reflect.Method method,
boolean kotlin,
java.lang.String namingStrategy) |
static java.lang.String |
getterName(java.lang.reflect.Method method,
java.lang.String namingStrategy) |
static java.lang.String |
getterName(java.lang.String methodName,
java.lang.String namingStrategy) |
static void |
getters(java.lang.Class objectClass,
java.lang.Class mixinSource,
boolean kotlin,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer) |
static void |
getters(java.lang.Class objectClass,
java.lang.Class mixinSource,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer) |
static void |
getters(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer) |
(package private) static int |
hashCodeOrZero(java.lang.Object o) |
static boolean |
hasPublicDefaultConstructor(java.lang.Class objectClass) |
(package private) static boolean |
ignore(java.lang.Class objectClass) |
private static int |
indexOf(java.lang.Object[] array,
java.lang.Object toFind) |
static boolean |
isExtendedMap(java.lang.Class objectClass) |
private static boolean |
isJSONField(java.lang.reflect.AnnotatedElement element) |
static boolean |
isNoneStaticMemberClass(java.lang.Class objectClass,
java.lang.Class memberClass) |
static boolean |
isRecord(java.lang.Class objectClass) |
static boolean |
isWriteEnumAsJavaBean(java.lang.Class clazz) |
static java.lang.reflect.ParameterizedType |
newParameterizedTypeWithOwner(java.lang.reflect.Type ownerType,
java.lang.reflect.Type rawType,
java.lang.reflect.Type... typeArguments)
Returns a new parameterized type, applying
typeArguments to
rawType and enclosed by ownerType. |
private static java.lang.String |
pascal(java.lang.String methodName,
int methodNameLength,
int prefixLength) |
static void |
processGsonSerializedName(FieldInfo fieldInfo,
java.lang.annotation.Annotation annotation) |
static void |
processJacksonJsonFormat(BeanInfo beanInfo,
java.lang.annotation.Annotation annotation) |
static void |
processJacksonJsonFormat(FieldInfo fieldInfo,
java.lang.annotation.Annotation annotation) |
static void |
processJacksonJsonIgnore(FieldInfo fieldInfo,
java.lang.annotation.Annotation annotation) |
static void |
processJacksonJsonInclude(BeanInfo beanInfo,
java.lang.annotation.Annotation annotation) |
static void |
processJacksonJsonInclude(FieldInfo fieldInfo,
java.lang.annotation.Annotation annotation) |
static void |
processJacksonJsonSubTypesType(BeanInfo beanInfo,
int index,
java.lang.annotation.Annotation annotation) |
static void |
processJacksonJsonTypeName(BeanInfo beanInfo,
java.lang.annotation.Annotation annotation) |
static void |
processJacksonJsonUnwrapped(FieldInfo fieldInfo,
java.lang.annotation.Annotation annotation) |
static void |
processJSONType1x(BeanInfo beanInfo,
java.lang.annotation.Annotation jsonType1x,
java.lang.reflect.Method method) |
static java.lang.reflect.Type |
resolve(java.lang.reflect.Type context,
java.lang.Class<?> contextRawType,
java.lang.reflect.Type toResolve) |
private static java.lang.reflect.Type |
resolve(java.lang.reflect.Type context,
java.lang.Class<?> contextRawType,
java.lang.reflect.Type toResolve,
java.util.Map<java.lang.reflect.TypeVariable<?>,java.lang.reflect.Type> visitedTypeVariables) |
static java.lang.reflect.Type |
resolveCollectionItemType(java.lang.reflect.Type fieldTypeResolved,
java.lang.Class<?> fieldClass) |
(package private) static java.lang.reflect.Type |
resolveTypeVariable(java.lang.reflect.Type context,
java.lang.Class<?> contextRawType,
java.lang.reflect.TypeVariable<?> unknown) |
static void |
setNoneStaticMemberClassParent(java.lang.Object object,
java.lang.Object parent) |
static java.lang.String |
setterName(java.lang.String methodName,
int prefixLength) |
static java.lang.String |
setterName(java.lang.String methodName,
java.lang.String namingStrategy) |
static void |
setters(java.lang.Class objectClass,
BeanInfo beanInfo,
java.lang.Class mixin,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer) |
static void |
setters(java.lang.Class objectClass,
boolean checkPrefix,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer) |
static void |
setters(java.lang.Class objectClass,
java.lang.Class mixin,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer) |
static void |
setters(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer) |
(package private) static java.lang.String |
snakeCase(java.lang.String methodName,
int prefixLength) |
static void |
staticMethod(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer) |
static java.lang.reflect.WildcardType |
subtypeOf(java.lang.reflect.Type bound)
Returns a type that represents an unknown type that extends
bound. |
static java.lang.reflect.WildcardType |
supertypeOf(java.lang.reflect.Type bound)
Returns a type that represents an unknown supertype of
bound. |
static java.lang.String |
typeToString(java.lang.reflect.Type type) |
(package private) static java.lang.String |
underScores(java.lang.String methodName,
int prefixLength,
boolean upper) |
(package private) static java.lang.String |
upperCamelWith(java.lang.String methodName,
int prefixLength,
char separator) |
static final java.lang.reflect.Type[] EMPTY_TYPE_ARRAY
static final java.util.concurrent.ConcurrentMap<java.lang.Class,java.lang.reflect.Field[]> fieldCache
static final java.util.concurrent.ConcurrentMap<java.lang.Class,java.util.Map<java.lang.String,java.lang.reflect.Field>> fieldMapCache
static final java.util.concurrent.ConcurrentMap<java.lang.Class,java.lang.reflect.Field[]> declaredFieldCache
static final java.util.concurrent.ConcurrentMap<java.lang.Class,java.lang.reflect.Method[]> methodCache
static final java.util.concurrent.ConcurrentMap<java.lang.Class,java.lang.reflect.Constructor[]> constructorCache
private static volatile java.lang.Class RECORD_CLASS
private static volatile java.lang.reflect.Method RECORD_GET_RECORD_COMPONENTS
private static volatile java.lang.reflect.Method RECORD_COMPONENT_GET_NAME
public static final java.lang.String SUPER
static final long[] IGNORE_CLASS_HASH_CODES
public static java.lang.String[] getRecordFieldNames(java.lang.Class<?> recordType)
public static void fields(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Field> fieldReaders)
public static java.lang.reflect.Method getMethod(java.lang.Class objectClass,
java.lang.String methodName)
public static java.lang.reflect.Method fluentSetter(java.lang.Class objectClass,
java.lang.String methodName,
java.lang.Class paramType)
public static java.lang.reflect.Method getMethod(java.lang.Class objectClass,
java.lang.reflect.Method signature)
public static java.lang.reflect.Field getDeclaredField(java.lang.Class objectClass,
java.lang.String fieldName)
public static java.lang.reflect.Type resolveCollectionItemType(java.lang.reflect.Type fieldTypeResolved,
java.lang.Class<?> fieldClass)
public static java.lang.reflect.Method getSetter(java.lang.Class objectClass,
java.lang.String methodName)
public static void declaredFields(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Field> fieldConsumer)
public static void staticMethod(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer)
public static java.lang.reflect.Method buildMethod(java.lang.Class objectClass,
java.lang.String methodName)
public static void constructor(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Constructor> constructorConsumer)
public static java.lang.reflect.Constructor[] getConstructor(java.lang.Class objectClass)
public static boolean hasPublicDefaultConstructor(java.lang.Class objectClass)
public static java.lang.reflect.Constructor getDefaultConstructor(java.lang.Class objectClass,
boolean includeNoneStaticMember)
public static void setters(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer)
public static void setters(java.lang.Class objectClass,
java.lang.Class mixin,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer)
public static void setters(java.lang.Class objectClass,
BeanInfo beanInfo,
java.lang.Class mixin,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer)
public static void setters(java.lang.Class objectClass,
boolean checkPrefix,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer)
public static void annotationMethods(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer)
public static boolean isWriteEnumAsJavaBean(java.lang.Class clazz)
public static java.lang.String[] getEnumAnnotationNames(java.lang.Class enumClass)
public static java.lang.reflect.Member getEnumValueField(java.lang.Class enumClass,
ObjectCodecProvider mixinProvider)
public static void getters(java.lang.Class objectClass,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer)
public static void getters(java.lang.Class objectClass,
java.lang.Class mixinSource,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer)
public static void getters(java.lang.Class objectClass,
java.lang.Class mixinSource,
boolean kotlin,
java.util.function.Consumer<java.lang.reflect.Method> methodConsumer)
private static java.lang.reflect.Method[] getMethods(java.lang.Class objectClass)
private static java.lang.reflect.Method[] getRecordMethods(java.lang.Class<?> recordClass)
private static boolean isJSONField(java.lang.reflect.AnnotatedElement element)
static boolean ignore(java.lang.Class objectClass)
public static boolean isRecord(java.lang.Class objectClass)
public static java.lang.String setterName(java.lang.String methodName,
java.lang.String namingStrategy)
public static java.lang.String setterName(java.lang.String methodName,
int prefixLength)
public static java.lang.String getterName(java.lang.reflect.Method method,
java.lang.String namingStrategy)
public static java.lang.String getterName(java.lang.reflect.Method method,
boolean kotlin,
java.lang.String namingStrategy)
public static java.lang.reflect.Field getField(java.lang.Class objectClass,
java.lang.String fieldName)
public static java.lang.reflect.Field getField(java.lang.Class objectClass,
java.lang.reflect.Method method)
public static java.lang.String getterName(java.lang.String methodName,
java.lang.String namingStrategy)
private static java.lang.String pascal(java.lang.String methodName,
int methodNameLength,
int prefixLength)
public static java.lang.String fieldName(java.lang.String methodName,
java.lang.String namingStrategy)
static java.lang.String snakeCase(java.lang.String methodName,
int prefixLength)
static java.lang.String upperCamelWith(java.lang.String methodName,
int prefixLength,
char separator)
static java.lang.String underScores(java.lang.String methodName,
int prefixLength,
boolean upper)
static java.lang.String dashes(java.lang.String methodName,
int prefixLength,
boolean upper)
static java.lang.String dots(java.lang.String methodName,
int prefixLength,
boolean upper)
public static java.lang.reflect.Type getFieldType(TypeReference typeReference, java.lang.Class<?> raw, java.lang.reflect.Member field, java.lang.reflect.Type fieldType)
public static java.lang.reflect.Type getParamType(TypeReference type, java.lang.Class<?> raw, java.lang.Class declaringClass, java.lang.reflect.Parameter field, java.lang.reflect.Type fieldType)
public static java.lang.reflect.ParameterizedType newParameterizedTypeWithOwner(java.lang.reflect.Type ownerType,
java.lang.reflect.Type rawType,
java.lang.reflect.Type... typeArguments)
typeArguments to
rawType and enclosed by ownerType.serializable parameterized type.public static java.lang.reflect.GenericArrayType arrayOf(java.lang.reflect.Type componentType)
componentType.serializable generic array type.public static java.lang.reflect.WildcardType subtypeOf(java.lang.reflect.Type bound)
bound.
For example, if bound is CharSequence.class, this returns
? extends CharSequence. If bound is Object.class,
this returns ?, which is shorthand for ? extends Object.public static java.lang.reflect.WildcardType supertypeOf(java.lang.reflect.Type bound)
bound. For
example, if bound is String.class, this returns ?
super String.public static java.lang.reflect.Type canonicalize(java.lang.reflect.Type type)
Object.equals(). The returned
type is Serializable.public static java.lang.Class<?> getRawType(java.lang.reflect.Type type)
static boolean equal(java.lang.Object a,
java.lang.Object b)
public static boolean equals(java.lang.reflect.Type a,
java.lang.reflect.Type b)
a and b are equal.static int hashCodeOrZero(java.lang.Object o)
public static java.lang.String typeToString(java.lang.reflect.Type type)
static java.lang.reflect.Type getGenericSupertype(java.lang.reflect.Type context,
java.lang.Class<?> rawType,
java.lang.Class<?> toResolve)
supertype. For example, given a class IntegerSet, the result for when supertype is Set.class is Set<Integer> and the
result when the supertype is Collection.class is Collection<Integer>.public static java.lang.reflect.Type resolve(java.lang.reflect.Type context,
java.lang.Class<?> contextRawType,
java.lang.reflect.Type toResolve)
private static java.lang.reflect.Type resolve(java.lang.reflect.Type context,
java.lang.Class<?> contextRawType,
java.lang.reflect.Type toResolve,
java.util.Map<java.lang.reflect.TypeVariable<?>,java.lang.reflect.Type> visitedTypeVariables)
static java.lang.reflect.Type resolveTypeVariable(java.lang.reflect.Type context,
java.lang.Class<?> contextRawType,
java.lang.reflect.TypeVariable<?> unknown)
private static int indexOf(java.lang.Object[] array,
java.lang.Object toFind)
private static java.lang.Class<?> declaringClassOf(java.lang.reflect.TypeVariable<?> typeVariable)
typeVariable, or null if it was not declared by
a class.static void checkNotPrimitive(java.lang.reflect.Type type)
public static <A extends java.lang.annotation.Annotation> A findAnnotation(java.lang.reflect.AnnotatedElement element,
java.lang.Class<A> annotationType)
annotationType that is either
directly present, meta-present, or indirectly
present on the supplied element.
If the element is a class and the annotation is neither directly present nor meta-present on the class, this method will additionally search on interfaces implemented by the class before finding an annotation that is indirectly present on the class.
A - the annotationelement - the element on which to search for the annotationannotationType - the annotation type of need to searchpublic static <A extends java.lang.annotation.Annotation> A findAnnotation(java.lang.annotation.Annotation annotation,
java.lang.Class<A> annotationType)
annotation's annotationType is not annotationType, then to find the
first annotation of annotationType that is either
directly present, meta-present, or indirectly
present on the supplied element.A - the searched annotation typeannotation - annotationannotationType - the annotation type of need to searchprivate static <A extends java.lang.annotation.Annotation> A findAnnotation(java.lang.reflect.AnnotatedElement element,
java.lang.Class<A> annotationType,
boolean inherited,
java.util.Set<java.lang.annotation.Annotation> visited)
annotationType that is either
directly present, meta-present, or indirectly
present on the supplied element.
If the element is a class and the annotation is neither directly present nor meta-present on the class, this method will additionally search on interfaces implemented by the class before finding an annotation that is indirectly present on the class.
A - the annotation typeelement - the element on which to search for the annotationannotationType - the annotation type of need to searchinherited - whether has Inheritedvisited - this annotation whether visitedprivate static <A extends java.lang.annotation.Annotation> A findMetaAnnotation(java.lang.Class<A> annotationType,
java.lang.annotation.Annotation[] candidates,
boolean inherited,
java.util.Set<java.lang.annotation.Annotation> visited)
A - the annotation typeannotationType - the annotation type of need to searchcandidates - annotations for candidatesinherited - whether has Inheritedvisited - this annotation whether visitedpublic static java.lang.annotation.Annotation[] getAnnotations(java.lang.reflect.AnnotatedElement element)
static void checkArgument(boolean condition)
public static void processJacksonJsonIgnore(FieldInfo fieldInfo, java.lang.annotation.Annotation annotation)
public static boolean isNoneStaticMemberClass(java.lang.Class objectClass,
java.lang.Class memberClass)
public static void setNoneStaticMemberClassParent(java.lang.Object object,
java.lang.Object parent)
public static void cleanupCache(java.lang.Class objectClass)
public static void cleanupCache(java.lang.ClassLoader classLoader)
public static void processJSONType1x(BeanInfo beanInfo, java.lang.annotation.Annotation jsonType1x, java.lang.reflect.Method method)
public static void processJacksonJsonFormat(FieldInfo fieldInfo, java.lang.annotation.Annotation annotation)
public static void processJacksonJsonFormat(BeanInfo beanInfo, java.lang.annotation.Annotation annotation)
public static void processJacksonJsonInclude(BeanInfo beanInfo, java.lang.annotation.Annotation annotation)
public static void processJacksonJsonInclude(FieldInfo fieldInfo, java.lang.annotation.Annotation annotation)
public static void processJacksonJsonUnwrapped(FieldInfo fieldInfo, java.lang.annotation.Annotation annotation)
public static void processJacksonJsonTypeName(BeanInfo beanInfo, java.lang.annotation.Annotation annotation)
public static void processJacksonJsonSubTypesType(BeanInfo beanInfo, int index, java.lang.annotation.Annotation annotation)
public static void processGsonSerializedName(FieldInfo fieldInfo, java.lang.annotation.Annotation annotation)
public static boolean isExtendedMap(java.lang.Class objectClass)