クラス ReflectionHelper
java.lang.ObjectSE
org.springframework.expression.spel.support.ReflectionHelper
式で使用する必要がある適切なメソッド / コンストラクターおよびフィールドを検出するためにリフレクションリゾルバーコードによって使用されるユーティリティメソッド。
- 導入:
- 3.0
- 作成者:
- Andy Clement, Juergen Hoeller, Sam Brannen
コンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明static booleanconvertAllArguments(TypeConverter converter, ObjectSE[] arguments, MethodSE method) 指定された引数のセットをリクエストされた型に変換します。static booleanconvertAllMethodHandleArguments(TypeConverter converter, ObjectSE[] arguments, MethodHandleSE methodHandle, IntegerSE varargsPosition) 引数値の入力セットを受け取り、必須パラメーターの型として指定された型に変換します。static intgetTypeDifferenceWeight(ListSE<TypeDescriptor> paramTypes, ListSE<TypeDescriptor> argTypes) MethodInvoker.getTypeDifferenceWeight(Class[], Object[])に基づいていますが、TypeDescriptors で動作します。static ObjectSE[]setupArgumentsForVarargsInvocation(ClassSE<?>[] requiredParameterTypes, ObjectSE... args) 提供された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- 変換に問題がある場合
convertAllMethodHandleArguments
public static boolean convertAllMethodHandleArguments(TypeConverter converter, ObjectSE[] arguments, MethodHandleSE methodHandle, @Nullable IntegerSE varargsPosition) throws EvaluationException 引数値の入力セットを受け取り、必須パラメーターの型として指定された型に変換します。引数は入力配列内で「インプレース」で変換されます。- パラメーター:
converter- 変換を試みるために使用する型コンバーターarguments- 変換が必要な実際の引数methodHandle- ターゲット MethodHandlevarargsPosition- 可変引数引数の既知の位置 (存在する場合) (可変引数でない場合は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- 呼び出しのために設定される引数- 戻り値:
- 可変引数の設定が行われた引数の再パッケージ化された配列