クラス ReflectionHelper
java.lang.ObjectSE
org.springframework.expression.spel.support.ReflectionHelper
リフレクションリゾルバーコードによって使用されるユーティリティメソッド。式で使用する適切なメソッド、コンストラクター、フィールドを検出します。
- 導入:
- 3.0
- 作成者:
- Andy Clement, Juergen Hoeller, Sam Brannen
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明static booleanconvertAllArguments(TypeConverter converter, @Nullable ObjectSE[] arguments, MethodSE method) 指定された引数セットを、指定されたMethodSE のパラメーター型に変換します。static booleanconvertAllMethodHandleArguments(TypeConverter converter, @Nullable ObjectSE[] arguments, MethodHandleSE methodHandle, @Nullable IntegerSE varargsPosition) varargs の位置を考慮して、指定された引数セットを指定されたMethodHandleSE のパラメーター型に変換します。static intgetTypeDifferenceWeight(ListSE<TypeDescriptor> paramTypes, ListSE<TypeDescriptor> argTypes) MethodInvoker.getTypeDifferenceWeight(Class[], Object[])に基づいていますが、TypeDescriptors で動作します。setupArgumentsForVarargsInvocation(ClassSE<?>[] requiredParameterTypes, @Nullable 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, @Nullable ObjectSE[] arguments, MethodSE method) throws SpelEvaluationException 指定された引数セットを、指定されたMethodSE のパラメーター型に変換します。指定されたメソッドが varargs メソッドの場合、最終パラメーター型は、コンポーネント型が余分な引数の変換ターゲットとして使用される配列である必要があります。例: パラメーター型が
{Integer, String[]}で、入力引数が{Integer, boolean, float}の場合、booleanとfloatの両方を文字列に変換する必要があります。このメソッドは、引数を varargs 呼び出しに適した形式に再パッケージ化しません。そのためには、後続の
setupArgumentsForVarargsInvocation(Class[], Object...)の呼び出しが必要です。- パラメーター:
converter- 型変換に使用するコンバーターarguments- 必要なパラメーター型に変換する引数method- ターゲットMethod- 戻り値:
true引数で何らかの変換が発生した場合- 例外:
SpelEvaluationException- 変換中に問題が発生した場合
convertAllMethodHandleArguments
public static boolean convertAllMethodHandleArguments(TypeConverter converter, @Nullable ObjectSE[] arguments, MethodHandleSE methodHandle, @Nullable IntegerSE varargsPosition) throws EvaluationException varargs の位置を考慮して、指定された引数セットを指定されたMethodHandleSE のパラメーター型に変換します。引数は入力配列内で「インプレース」変換されます。
- パラメーター:
converter- 型変換に使用するコンバーターarguments- 必要なパラメーター型に変換する引数methodHandle- ターゲットMethodHandlevarargsPosition- 可変引数引数の既知の位置 (存在する場合) (可変引数でない場合はnull)- 戻り値:
true引数で何らかの変換が発生した場合- 例外:
EvaluationException- 変換中に問題が発生した場合- 導入:
- 6.1
setupArgumentsForVarargsInvocation
public static @Nullable ObjectSE[] setupArgumentsForVarargsInvocation(ClassSE<?>[] requiredParameterTypes, @Nullable ObjectSE... args) 提供されたargsを、requiredParameterTypesで期待されるものと正しく一致するようにパッケージ化します。例: 2 番目のパラメーターが
String...として宣言されたためにrequiredParameterTypesが(int, String[])である場合、argsが[1, "a", "b"]であれば、予想される型と一致させるために[1, new String[] {"a", "b"}]として再パッケージ化する必要があります。- パラメーター:
requiredParameterTypes- 呼び出し用のパラメーターの型args- 呼び出しのために設定される引数- 戻り値:
- 可変引数の設定が行われた引数の再パッケージ化された配列