クラス ReflectionHelper
java.lang.ObjectSE
org.springframework.expression.spel.support.ReflectionHelper
式で使用する必要がある適切なメソッド / コンストラクターおよびフィールドを検出するためにリフレクションリゾルバーコードによって使用されるユーティリティメソッド。
- 導入:
- 3.0
- 作成者:
- Andy Clement, Juergen Hoeller, Sam Brannen
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明static boolean
convertAllArguments
(TypeConverter converter, ObjectSE[] arguments, MethodSE method) 指定された引数のセットをリクエストされた型に変換します。static int
getTypeDifferenceWeight
(ListSE<TypeDescriptor> paramTypes, ListSE<TypeDescriptor> argTypes) MethodInvoker.getTypeDifferenceWeight(Class[], Object[])
に基づいていますが、TypeDescriptors で動作します。static ObjectSE[]
setupArgumentsForVarargsInvocation
(ClassSE<?>[] requiredParameterTypes, ObjectSE... args) 引数をパッケージ化して、requiredParameterTypes で期待されるものと正しく一致するようにします。
コンストラクターの詳細
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 の設定が行われた、再パッケージ化された引数の配列