パッケージ org.springframework.core

クラス GenericTypeResolver

java.lang.ObjectSE
org.springframework.core.GenericTypeResolver

public final class GenericTypeResolver extends ObjectSE
型変数に対してジェネリクス型を解決するためのヘルパークラス。

主にフレームワーク内での使用を目的としており、一般的に宣言されている場合でもメソッドのパラメーター型を解決します。

導入:
2.5.2
作成者:
Juergen Hoeller, Rob Harrop, Sam Brannen, Phillip Webb
  • メソッドの詳細

    • resolveParameterType

      @DeprecatedSE public static ClassSE<?> resolveParameterType(MethodParameter methodParameter, ClassSE<?> implementationClass)
      使用すべきではありません。
      5.2 以降、methodParameter.withContainingClass(implementationClass).getParameterType() を推奨
      指定されたジェネリクスパラメーター型のターゲット型を決定します。
      パラメーター:
      methodParameter - メソッドパラメーターの指定
      implementationClass - 型変数を解決するクラス
      戻り値:
      対応するジェネリクスパラメーターまたは戻り値の型
    • resolveReturnType

      public static ClassSE<?> resolveReturnType(MethodSE method, ClassSE<?> clazz)
      指定されたクラスの正式な型変数が宣言されている、指定されたメソッドのジェネリクス戻り値型のターゲット型を決定します。
      パラメーター:
      method - 内省する方法
      clazz - 型変数を解決するクラス
      戻り値:
      対応するジェネリクスパラメーターまたは戻り値の型
    • resolveReturnTypeArgument

      @Nullable public static ClassSE<?> resolveReturnTypeArgument(MethodSE method, ClassSE<?> genericType)
      指定されたジェネリクス型の単一の型引数を、指定された型またはその実装を返すと想定される指定されたターゲットメソッドに対して解決します。
      パラメーター:
      method - 戻り値の型をチェックするターゲットメソッド
      genericType - 型引数を解決するための汎用インターフェースまたはスーパークラス
      戻り値:
      メソッドの戻り値の型の解決されたパラメーター型。解決できない場合、または単一の引数の型が WildcardTypeSE の場合は null 
    • resolveTypeArgument

      @Nullable public static ClassSE<?> resolveTypeArgument(ClassSE<?> clazz, ClassSE<?> genericType)
      指定されたジェネリクス型の単一の型引数を、指定された型を実装し、場合によってはその型変数の具象型を宣言すると想定される指定されたターゲットクラスに対して解決します。
      パラメーター:
      clazz - チェックするターゲットクラス
      genericType - 型引数を解決するための汎用インターフェースまたはスーパークラス
      戻り値:
      引数の解決された型、または解決できない場合は null 
    • resolveTypeArguments

      @Nullable public static ClassSE<?>[] resolveTypeArguments(ClassSE<?> clazz, ClassSE<?> genericType)
      指定されたジェネリクス型の型引数を、指定された型を実装または拡張すると想定される指定されたターゲットクラスに対して解決し、場合によってはその型変数の具象型を宣言します。
      パラメーター:
      clazz - チェックするターゲットクラス
      genericType - 型引数を解決するための汎用インターフェースまたはスーパークラス
      戻り値:
      各引数の解決された型。配列サイズは実際の型引数の数と一致します。解決できない場合は null 
    • resolveType

      public static TypeSE resolveType(TypeSE genericType, @Nullable ClassSE<?> contextClass)
      指定されたジェネリクス型を指定されたコンテキストクラスに対して解決し、型変数を可能な限り置き換えます。
      パラメーター:
      genericType - (潜在的に)ジェネリクス型
      contextClass - ターゲット型のコンテキストクラス。たとえば、ターゲット型がメソッドシグネチャーに表示されるクラス (null にすることができます)
      戻り値:
      解決された型 (おそらく指定されたジェネリクス型をそのまま)
      導入:
      5.0
    • resolveType

      public static ClassSE<?> resolveType(TypeSE genericType, MapSE<TypeVariableSE,TypeSE> map)
      指定された TypeVariable マップに対して指定されたジェネリクス型を解決します。

      Spring Data で使用されます。

      パラメーター:
      genericType - 解決するジェネリクス型
      map - 解決する TypeVariable マップ
      戻り値:
      クラスに解決される場合は型、そうでない場合は Object.class 
    • getTypeVariableMap

      public static MapSE<TypeVariableSE,TypeSE> getTypeVariableMap(ClassSE<?> clazz)
      指定された ClassSETypeVariable names から concrete classesSE へのマッピングを作成します。型とインターフェースを含むすべてのスーパー型を検索します。
      関連事項: