public final class GenericTypeResolver extends ObjectSE
主にフレームワーク内での使用を目的としており、一般的に宣言されている場合でもメソッドのパラメーター型を解決します。
修飾子と型 | メソッドと説明 |
---|---|
static MapSE<TypeVariableSE, TypeSE> | getTypeVariableMap(ClassSE<?> clazz) |
static ClassSE<?> | resolveParameterType(MethodParameter methodParameter, ClassSE<?> implementationClass) 使用すべきではありません。 5.2 以降、 methodParameter.withContainingClass(implementationClass).getParameterType() を推奨 |
static ClassSE<?> | resolveReturnType(MethodSE method, ClassSE<?> clazz) 指定されたクラスの正式な型変数が宣言されている、指定されたメソッドのジェネリクス戻り値型のターゲット型を決定します。 |
static ClassSE<?> | resolveReturnTypeArgument(MethodSE method, ClassSE<?> genericIfc) 指定されたインターフェースまたはその実装を返すと想定される指定されたターゲットメソッドに対して、指定されたジェネリクスインターフェースの単一の型引数を解決します。 |
static TypeSE | resolveType(TypeSE genericType, ClassSE<?> contextClass) 指定されたジェネリクス型を指定されたコンテキストクラスに対して解決し、型変数を可能な限り置き換えます。 |
static ClassSE<?> | resolveType(TypeSE genericType, MapSE<TypeVariableSE, TypeSE> map) 指定された TypeVariable マップに対して指定されたジェネリクス型を解決します。 |
static ClassSE<?> | resolveTypeArgument(ClassSE<?> clazz, ClassSE<?> genericIfc) 指定されたジェネリクスインターフェースの単一の型引数を、指定されたターゲットクラスに対して解決します。これは、ジェネリクスインターフェースを実装していると想定され、型変数の具象型を宣言する可能性があります。 |
static ClassSE<?>[] | resolveTypeArguments(ClassSE<?> clazz, ClassSE<?> genericIfc) ジェネリクスインターフェースを実装すると想定されている特定のターゲットクラスに対して、特定のジェネリクスインターフェースの型引数を解決し、場合によってはその型変数の具象型を宣言します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
@DeprecatedSE public static ClassSE<?> resolveParameterType(MethodParameter methodParameter, ClassSE<?> implementationClass)
methodParameter.withContainingClass(implementationClass).getParameterType()
に移行 methodParameter
- メソッドパラメーターの指定 implementationClass
- 型変数を解決するクラス public static ClassSE<?> resolveReturnType(MethodSE method, ClassSE<?> clazz)
method
- 内省する方法 clazz
- 型変数を解決するクラス @Nullable public static ClassSE<?> resolveReturnTypeArgument(MethodSE method, ClassSE<?> genericIfc)
method
- 戻り値の型をチェックするターゲットメソッド genericIfc
- 型引数を解決するための汎用インターフェースまたはスーパークラス WildcardType
SE の場合は null
@Nullable public static ClassSE<?> resolveTypeArgument(ClassSE<?> clazz, ClassSE<?> genericIfc)
clazz
- チェックするターゲットクラス genericIfc
- 型引数を解決するための汎用インターフェースまたはスーパークラス null
@Nullable public static ClassSE<?>[] resolveTypeArguments(ClassSE<?> clazz, ClassSE<?> genericIfc)
clazz
- チェックするターゲットクラス genericIfc
- 型引数を解決するための汎用インターフェースまたはスーパークラス null
public static TypeSE resolveType(TypeSE genericType, @Nullable ClassSE<?> contextClass)
genericType
- (潜在的に)ジェネリクス型 contextClass
- ターゲット型のコンテキストクラス。たとえば、ターゲット型がメソッドシグネチャーに表示されるクラス (null
にすることができます)public static ClassSE<?> resolveType(TypeSE genericType, MapSE<TypeVariableSE,TypeSE> map)
Spring Data で使用されます。
genericType
- 解決するジェネリクス型 map
- 解決する TypeVariable マップ Object.class
public static MapSE<TypeVariableSE,TypeSE> getTypeVariableMap(ClassSE<?> clazz)
Class
SE の TypeVariable names
SE から concrete classes
SE へのマッピングを作成します。型とインターフェースを含むすべてのスーパー型を検索します。