クラス 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 - 変換に問題がある場合
    • convertAllMethodHandleArguments

      public static boolean convertAllMethodHandleArguments(TypeConverter converter, ObjectSE[] arguments, MethodHandleSE methodHandle, @Nullable IntegerSE varargsPosition) throws EvaluationException
      引数値の入力セットを受け取り、必須パラメーターの型として指定された型に変換します。引数は入力配列内で「インプレース」で変換されます。
      パラメーター:
      converter - 変換を試みるために使用する型コンバーター
      arguments - 変換が必要な実際の引数
      methodHandle - ターゲット MethodHandle
      varargsPosition - 可変引数引数の既知の位置 (存在する場合) (可変引数でない場合は null )
      戻り値:
      true 引数で何らかの変換が発生した場合
      例外:
      EvaluationException - 変換中に問題が発生した場合
      導入:
      6.1
    • setupArgumentsForVarargsInvocation

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

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

      パラメーター:
      requiredParameterTypes - 呼び出し用のパラメーターの型
      args - 呼び出しのために設定される引数
      戻り値:
      可変引数の設定が行われた引数の再パッケージ化された配列