Package org.apache.ibatis.reflection
Class TypeParameterResolver
- java.lang.Object
-
- org.apache.ibatis.reflection.TypeParameterResolver
-
public class TypeParameterResolver extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
TypeParameterResolver.GenericArrayTypeImpl
(package private) static class
TypeParameterResolver.ParameterizedTypeImpl
(package private) static class
TypeParameterResolver.WildcardTypeImpl
-
Constructor Summary
Constructors Modifier Constructor Description private
TypeParameterResolver()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.reflect.Type
resolveFieldType(java.lang.reflect.Field field, java.lang.reflect.Type srcType)
Resolve field type.private static java.lang.reflect.Type
resolveGenericArrayType(java.lang.reflect.GenericArrayType genericArrayType, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)
private static java.lang.reflect.ParameterizedType
resolveParameterizedType(java.lang.reflect.ParameterizedType parameterizedType, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)
static java.lang.reflect.Type[]
resolveParamTypes(java.lang.reflect.Method method, java.lang.reflect.Type srcType)
Resolve param types.static java.lang.reflect.Type
resolveReturnType(java.lang.reflect.Method method, java.lang.reflect.Type srcType)
Resolve return type.private static java.lang.reflect.Type
resolveType(java.lang.reflect.Type type, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)
private static java.lang.reflect.Type
resolveTypeVar(java.lang.reflect.TypeVariable<?> typeVar, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)
private static java.lang.reflect.Type
resolveWildcardType(java.lang.reflect.WildcardType wildcardType, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)
private static java.lang.reflect.Type[]
resolveWildcardTypeBounds(java.lang.reflect.Type[] bounds, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)
private static java.lang.reflect.Type
scanSuperTypes(java.lang.reflect.TypeVariable<?> typeVar, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass, java.lang.Class<?> clazz, java.lang.reflect.Type superclass)
private static java.lang.reflect.ParameterizedType
translateParentTypeVars(java.lang.reflect.ParameterizedType srcType, java.lang.Class<?> srcClass, java.lang.reflect.ParameterizedType parentType)
-
-
-
Method Detail
-
resolveFieldType
public static java.lang.reflect.Type resolveFieldType(java.lang.reflect.Field field, java.lang.reflect.Type srcType)
Resolve field type.- Parameters:
field
- the fieldsrcType
- the src type- Returns:
- The field type as
Type
. If it has type parameters in the declaration,
they will be resolved to the actual runtimeType
s.
-
resolveReturnType
public static java.lang.reflect.Type resolveReturnType(java.lang.reflect.Method method, java.lang.reflect.Type srcType)
Resolve return type.- Parameters:
method
- the methodsrcType
- the src type- Returns:
- The return type of the method as
Type
. If it has type parameters in the declaration,
they will be resolved to the actual runtimeType
s.
-
resolveParamTypes
public static java.lang.reflect.Type[] resolveParamTypes(java.lang.reflect.Method method, java.lang.reflect.Type srcType)
Resolve param types.- Parameters:
method
- the methodsrcType
- the src type- Returns:
- The parameter types of the method as an array of
Type
s. If they have type parameters in the declaration,
they will be resolved to the actual runtimeType
s.
-
resolveType
private static java.lang.reflect.Type resolveType(java.lang.reflect.Type type, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)
-
resolveGenericArrayType
private static java.lang.reflect.Type resolveGenericArrayType(java.lang.reflect.GenericArrayType genericArrayType, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)
-
resolveParameterizedType
private static java.lang.reflect.ParameterizedType resolveParameterizedType(java.lang.reflect.ParameterizedType parameterizedType, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)
-
resolveWildcardType
private static java.lang.reflect.Type resolveWildcardType(java.lang.reflect.WildcardType wildcardType, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)
-
resolveWildcardTypeBounds
private static java.lang.reflect.Type[] resolveWildcardTypeBounds(java.lang.reflect.Type[] bounds, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)
-
resolveTypeVar
private static java.lang.reflect.Type resolveTypeVar(java.lang.reflect.TypeVariable<?> typeVar, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)
-
scanSuperTypes
private static java.lang.reflect.Type scanSuperTypes(java.lang.reflect.TypeVariable<?> typeVar, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass, java.lang.Class<?> clazz, java.lang.reflect.Type superclass)
-
translateParentTypeVars
private static java.lang.reflect.ParameterizedType translateParentTypeVars(java.lang.reflect.ParameterizedType srcType, java.lang.Class<?> srcClass, java.lang.reflect.ParameterizedType parentType)
-
-