final class FieldSerializerGenericsUtil
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private Kryo |
kryo |
private FieldSerializer |
serializer |
| Constructor and Description |
|---|
FieldSerializerGenericsUtil(FieldSerializer serializer) |
| Modifier and Type | Method and Description |
|---|---|
(package private) Generics |
buildGenericsScope(java.lang.Class clazz,
java.lang.Class[] generics)
Create a mapping from type variable names (which are declared as type parameters of a generic class) to the concrete classes
used for type instantiation.
|
(package private) java.lang.Class[] |
computeFieldGenerics(java.lang.reflect.Type fieldGenericType,
java.lang.reflect.Field field,
java.lang.Class[] fieldClass) |
static java.lang.Class[] |
getGenerics(java.lang.reflect.Type genericType,
Kryo kryo)
Returns the first level of classes or interfaces for a generic type.
|
private java.lang.Class<?> |
getTypeVarConcreteClass(java.lang.Class[] generics,
int typeVarNum,
java.lang.String typeVarName) |
(package private) FieldSerializer.CachedField |
newCachedFieldOfGenericType(java.lang.reflect.Field field,
int accessIndex,
java.lang.Class[] fieldClass,
java.lang.reflect.Type fieldGenericType)
Special processing for fiels of generic types
|
private Kryo kryo
private FieldSerializer serializer
public FieldSerializerGenericsUtil(FieldSerializer serializer)
Generics buildGenericsScope(java.lang.Class clazz, java.lang.Class[] generics)
clazz - class with generic type argumentsgenerics - concrete types used to instantiate the classprivate java.lang.Class<?> getTypeVarConcreteClass(java.lang.Class[] generics,
int typeVarNum,
java.lang.String typeVarName)
java.lang.Class[] computeFieldGenerics(java.lang.reflect.Type fieldGenericType,
java.lang.reflect.Field field,
java.lang.Class[] fieldClass)
FieldSerializer.CachedField newCachedFieldOfGenericType(java.lang.reflect.Field field, int accessIndex, java.lang.Class[] fieldClass, java.lang.reflect.Type fieldGenericType)
public static java.lang.Class[] getGenerics(java.lang.reflect.Type genericType,
Kryo kryo)