パッケージ org.springframework.core
クラス GenericTypeResolver
java.lang.ObjectSE
org.springframework.core.GenericTypeResolver
型変数に対してジェネリクス型を解決するためのヘルパークラス。
主にフレームワーク内での使用を目的としており、一般的に宣言されている場合でもメソッドのパラメーター型を解決します。
- 導入:
- 2.5.2
- 作成者:
- Juergen Hoeller, Rob Harrop, Sam Brannen, Phillip Webb
メソッドのサマリー
修飾子と型メソッド説明static MapSE<TypeVariableSE,
TypeSE> getTypeVariableMap
(ClassSE<?> clazz) static ClassSE<?>
resolveParameterType
(MethodParameter methodParameter, ClassSE<?> implementationClass) 使用すべきではありません。static ClassSE<?>
resolveReturnType
(MethodSE method, ClassSE<?> clazz) 指定されたクラスの正式な型変数が宣言されている、指定されたメソッドのジェネリクス戻り値型のターゲット型を決定します。static ClassSE<?>
resolveReturnTypeArgument
(MethodSE method, ClassSE<?> genericType) 指定されたジェネリクス型の単一の型引数を、指定された型またはその実装を返すと想定される指定されたターゲットメソッドに対して解決します。static TypeSE
resolveType
(TypeSE genericType, ClassSE<?> contextClass) 指定されたジェネリクス型を指定されたコンテキストクラスに対して解決し、型変数を可能な限り置き換えます。static ClassSE<?>
resolveType
(TypeSE genericType, MapSE<TypeVariableSE, TypeSE> map) 指定された TypeVariable マップに対して指定されたジェネリクス型を解決します。static ClassSE<?>
resolveTypeArgument
(ClassSE<?> clazz, ClassSE<?> genericType) 指定されたジェネリクス型の単一の型引数を、指定された型を実装し、場合によってはその型変数の具象型を宣言すると想定される指定されたターゲットクラスに対して解決します。static ClassSE<?>[]
resolveTypeArguments
(ClassSE<?> clazz, ClassSE<?> genericType) 指定されたジェネリクス型の型引数を、指定された型を実装または拡張すると想定される指定されたターゲットクラスに対して解決し、場合によってはその型変数の具象型を宣言します。
メソッドの詳細
resolveParameterType
@DeprecatedSE public static ClassSE<?> resolveParameterType(MethodParameter methodParameter, ClassSE<?> implementationClass) 使用すべきではありません。5.2 以降、methodParameter.withContainingClass(implementationClass).getParameterType()
を推奨指定されたジェネリクスパラメーター型のターゲット型を決定します。- パラメーター:
methodParameter
- メソッドパラメーターの指定implementationClass
- 型変数を解決するクラス- 戻り値:
- 対応するジェネリクスパラメーターまたは戻り値の型
resolveReturnType
指定されたクラスの正式な型変数が宣言されている、指定されたメソッドのジェネリクス戻り値型のターゲット型を決定します。- パラメーター:
method
- イントロスペクトする方法clazz
- 型変数を解決するクラス- 戻り値:
- 対応するジェネリクスパラメーターまたは戻り値の型
resolveReturnTypeArgument
@Nullable public static ClassSE<?> resolveReturnTypeArgument(MethodSE method, ClassSE<?> genericType) 指定されたジェネリクス型の単一の型引数を、指定された型またはその実装を返すと想定される指定されたターゲットメソッドに対して解決します。- パラメーター:
method
- 戻り値の型をチェックするターゲットメソッドgenericType
- 型引数を解決するための汎用インターフェースまたはスーパークラス- 戻り値:
- メソッドの戻り値の型の解決されたパラメーター型。解決できない場合、または単一の引数の型が
WildcardType
SE の場合はnull
resolveTypeArgument
指定されたジェネリクス型の単一の型引数を、指定された型を実装し、場合によってはその型変数の具象型を宣言すると想定される指定されたターゲットクラスに対して解決します。- パラメーター:
clazz
- チェックするターゲットクラスgenericType
- 型引数を解決するための汎用インターフェースまたはスーパークラス- 戻り値:
- 引数の解決された型、または解決できない場合は
null
resolveTypeArguments
指定されたジェネリクス型の型引数を、指定された型を実装または拡張すると想定される指定されたターゲットクラスに対して解決し、場合によってはその型変数の具象型を宣言します。- パラメーター:
clazz
- チェックするターゲットクラスgenericType
- 型引数を解決するための汎用インターフェースまたはスーパークラス- 戻り値:
- 各引数の解決された型。配列サイズは実際の型引数の数と一致します。解決できない場合は
null
resolveType
指定されたジェネリクス型を指定されたコンテキストクラスに対して解決し、型変数を可能な限り置き換えます。- パラメーター:
genericType
- (潜在的に)ジェネリクス型contextClass
- ターゲット型のコンテキストクラス。たとえば、ターゲット型がメソッドシグネチャーに表示されるクラス (null
にすることができます)- 戻り値:
- 解決された型 (おそらく指定されたジェネリクス型をそのまま)
- 導入:
- 5.0
resolveType
指定された TypeVariable マップに対して指定されたジェネリクス型を解決します。Spring Data で使用されます。
- パラメーター:
genericType
- 解決するジェネリクス型map
- 解決する TypeVariable マップ- 戻り値:
- クラスに解決される場合は型、そうでない場合は
Object.class
getTypeVariableMap
指定されたClass
SE のTypeVariable names
からconcrete classes
SE へのマッピングを作成します。型とインターフェースを含むすべてのスーパー型を検索します。
methodParameter.withContainingClass(implementationClass).getParameterType()
を推奨