クラス ReflectionHelper

java.lang.ObjectSE
org.springframework.expression.spel.support.ReflectionHelper

public abstract class ReflectionHelper extends ObjectSE
式で使用する必要がある適切なメソッド / コンストラクターおよびフィールドを検出するためにリフレクションリゾルバーコードによって使用されるユーティリティメソッド。
導入:
3.0
作成者:
Andy Clement, Juergen Hoeller, Sam Brannen
  • コンストラクターの詳細

    • ReflectionHelper

      public ReflectionHelper()
  • メソッドの詳細

    • getTypeDifferenceWeight

      public static int getTypeDifferenceWeight(ListSE<TypeDescriptor> paramTypes, ListSE<TypeDescriptor> argTypes)
      MethodInvoker.getTypeDifferenceWeight(Class[], Object[]) に基づいていますが、TypeDescriptors で動作します。
    • convertAllArguments

      public static boolean convertAllArguments(TypeConverter converter, ObjectSE[] arguments, MethodSE method) throws SpelEvaluationException
      提供された引数のセットをリクエストされた型に変換します。parameterTypes が varargs メソッドに関連している場合、parameterTypes 配列の最後のエントリは、外部の引数の変換ターゲットとして使用されるコンポーネント型の配列自体になります。(例: parameterTypes が {Integer、String[]} で、入力引数が {Integer、boolean、float} の場合、boolean と float の両方を文字列に変換する必要があります)。このメソッドは、引数を varargs 呼び出しに適した形式に再パッケージ化しません *- 後続の setupArgumentsForVarargsInvocation への呼び出しがそれを処理します。
      パラメーター:
      converter - 型変換に使用するコンバーター
      arguments - リクエストされたパラメーター型に変換する引数
      method - ターゲットメソッド
      戻り値:
      引数でなんらかの変換が発生した場合は true
      例外:
      SpelEvaluationException - 変換に問題がある場合
    • setupArgumentsForVarargsInvocation

      public static ObjectSE[] setupArgumentsForVarargsInvocation(ClassSE<?>[] requiredParameterTypes, ObjectSE... args)
      引数をパッケージ化して、requiredParameterTypes で期待されるものと正しく一致するようにします。

      例: 2 番目のパラメーターが String... として宣言されたために requiredParameterTypes が (int, String[]) の場合、引数が [1,"a","b"] の場合、期待される型に一致させるために [1,new String[]{"a","b"}] として再パッケージ化する必要があります。

      パラメーター:
      requiredParameterTypes - 呼び出し用のパラメーターの型
      args - 呼び出しに備えてセットアップする引数
      戻り値:
      varargs の設定が行われた、再パッケージ化された引数の配列