类 GenericTypeResolver
- java.lang.Object
-
- cc.shacocloud.mirage.utils.GenericTypeResolver
-
public final class GenericTypeResolver extends Object
用于针对类型变量解析泛型类型的帮助程序类主要用于在框架中使用,解析方法参数类型,即使它们是泛型声明的
-
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static @NotNull Map<TypeVariable,Type>getTypeVariableMap(Class<?> clazz)static Class<?>resolveReturnType(@NotNull Method method, @NotNull Class<?> clazz)确定给定方法的泛型返回类型的目标类型,其中形式类型变量在给定类上声明。static @Nullable Class<?>resolveReturnTypeArgument(@NotNull Method method, Class<?> genericIfc)针对给定的目标方法解析给定泛型接口的单一类型参数,该方法假定返回给定接口或其实现。static TyperesolveType(Type genericType, @Nullable Class<?> contextClass)针对给定的上下文类解析给定的泛型类型,并尽可能替换类型变量static Class<?>resolveType(Type genericType, Map<TypeVariable,Type> map)根据给定的类型变量映射解析指定的泛型类型static @Nullable Class<?>resolveTypeArgument(Class<?> clazz, Class<?> genericIfc)针对假定实现泛型接口的给定目标类解析给定泛型接口的单一类型参数,并可能为其类型变量声明具体类型。static @Nullable Class<?> @Nullable []resolveTypeArguments(Class<?> clazz, Class<?> genericIfc)针对给定的目标类解析给定泛型接口的类型参数,该目标类假定实现泛型接口,并可能为其类型变量声明具体类型。
-
-
-
方法详细资料
-
resolveReturnType
public static Class<?> resolveReturnType(@NotNull @NotNull Method method, @NotNull @NotNull Class<?> clazz)
确定给定方法的泛型返回类型的目标类型,其中形式类型变量在给定类上声明。- 参数:
method- 方法clazz- 要解析类型变量的类- 返回:
- 相应的泛型参数或返回类型
-
resolveReturnTypeArgument
@Nullable public static @Nullable Class<?> resolveReturnTypeArgument(@NotNull @NotNull Method method, Class<?> genericIfc)
针对给定的目标方法解析给定泛型接口的单一类型参数,该方法假定返回给定接口或其实现。- 参数:
method- 检查返回类型的目标方法genericIfc- 用于解析类型参数的泛型接口或超类- 返回:
- 方法返回类型的解析参数类型,如果不可解析或单个参数的类型为
WildcardType,则为null
-
resolveTypeArgument
@Nullable public static @Nullable Class<?> resolveTypeArgument(Class<?> clazz, Class<?> genericIfc)
针对假定实现泛型接口的给定目标类解析给定泛型接口的单一类型参数,并可能为其类型变量声明具体类型。- 参数:
clazz- 要检查的目标类genericIfc- 用于解析类型参数的泛型接口或超类- 返回:
- 参数的解析类型,如果无法解析,则为
null
-
resolveTypeArguments
@Nullable public static @Nullable Class<?> @Nullable [] resolveTypeArguments(Class<?> clazz, Class<?> genericIfc)
针对给定的目标类解析给定泛型接口的类型参数,该目标类假定实现泛型接口,并可能为其类型变量声明具体类型。- 参数:
clazz- 要检查的目标类genericIfc- 用于解析类型参数的泛型接口或超类- 返回:
- 每个参数的解析类型,数组大小与实际类型参数的数量匹配,如果不可解析,则为
null
-
resolveType
public static Type resolveType(Type genericType, @Nullable @Nullable Class<?> contextClass)
针对给定的上下文类解析给定的泛型类型,并尽可能替换类型变量- 参数:
genericType- (可能)泛型类型contextClass- 目标类型的上下文类,例如目标类型出现在方法签名中的类(可以是null)- 返回:
- 解析的类型(可能是给定的泛型类型)
-
resolveType
public static Class<?> resolveType(Type genericType, Map<TypeVariable,Type> map)
根据给定的类型变量映射解析指定的泛型类型- 参数:
genericType- 要解析的泛型类型map- 要解析的类型变量映射- 返回:
- 如果解析为类,则为类型,否则为
对象.class
-
getTypeVariableMap
@NotNull public static @NotNull Map<TypeVariable,Type> getTypeVariableMap(Class<?> clazz)
- 另请参阅:
resolveType(Type, Map)
-
-