Class FieldSerializerGenericsUtil
- java.lang.Object
-
- com.esotericsoftware.kryo.serializers.FieldSerializerGenericsUtil
-
final class FieldSerializerGenericsUtil extends java.lang.Object
A few utility methods for using generic type parameters, mostly by FieldSerializer
-
-
Field Summary
Fields Modifier and Type Field Description private Kryo
kryo
private FieldSerializer
serializer
-
Constructor Summary
Constructors Constructor Description FieldSerializerGenericsUtil(FieldSerializer serializer)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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
-
-
-
Field Detail
-
kryo
private Kryo kryo
-
serializer
private FieldSerializer serializer
-
-
Constructor Detail
-
FieldSerializerGenericsUtil
public FieldSerializerGenericsUtil(FieldSerializer serializer)
-
-
Method Detail
-
buildGenericsScope
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.- Parameters:
clazz
- class with generic type argumentsgenerics
- concrete types used to instantiate the class- Returns:
- new scope for type parameters
-
getTypeVarConcreteClass
private java.lang.Class<?> getTypeVarConcreteClass(java.lang.Class[] generics, int typeVarNum, java.lang.String typeVarName)
-
computeFieldGenerics
java.lang.Class[] computeFieldGenerics(java.lang.reflect.Type fieldGenericType, java.lang.reflect.Field field, java.lang.Class[] fieldClass)
-
newCachedFieldOfGenericType
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
-
getGenerics
public static java.lang.Class[] getGenerics(java.lang.reflect.Type genericType, Kryo kryo)
Returns the first level of classes or interfaces for a generic type.- Returns:
- null if the specified type is not generic or its generic types are not classes.
-
-