public class ReflectiveMethodResolver extends java.lang.Object implements MethodResolver
StandardEvaluationContext ではデフォルトでリフレクションベースの MethodResolver が使用されます。StandardEvaluationContext.addMethodResolver(MethodResolver)| コンストラクターと説明 |
|---|
ReflectiveMethodResolver() |
ReflectiveMethodResolver(boolean useDistance) このコンストラクターを使用すると、ReflectiveMethodResolver を構成して、距離計算を使用して、2 つの近い一致のどちらが優れているかを確認できます(複数の一致がある場合)。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected java.lang.reflect.Method[] | getMethods(java.lang.Class<?> type) この型のメソッドのセットを返します。 |
protected boolean | isCandidateForInvocation(java.lang.reflect.Method method, java.lang.Class<?> targetClass) 指定された Method が、指定されたターゲットクラスのインスタンスのメソッド解決の候補であるかどうかを判断します。 |
void | registerMethodFilter(java.lang.Class<?> type, MethodFilter filter) 指定された型のメソッドのフィルターを登録します。 |
MethodExecutor | resolve(EvaluationContext context, java.lang.Object targetObject, java.lang.String name, java.util.List<TypeDescriptor> argumentTypes) 型のメソッドを見つけます。 |
public ReflectiveMethodResolver()
public ReflectiveMethodResolver(boolean useDistance)
useDistance - 一致を計算するときに距離計算を使用する必要がある場合は true。それ以外の場合は false public void registerMethodFilter(java.lang.Class<?> type,
@Nullable
MethodFilter filter)type - フィルタリングする型 filter - 対応するメソッドフィルター、または指定された型のフィルターをクリアする null @Nullable public MethodExecutor resolve(EvaluationContext context, java.lang.Object targetObject, java.lang.String name, java.util.List<TypeDescriptor> argumentTypes) throws AccessException
MethodResolver 内の resolve context - 現在の評価コンテキスト targetObject - メソッドが呼び出されるオブジェクト argumentTypes - コンストラクターが処理できる必要がある引数 AccessExceptionprotected java.lang.reflect.Method[] getMethods(java.lang.Class<?> type)
type の Class.getMethods() の結果を返しますが、結果を変更するためにサブクラスがオーバーライドされる場合があります。他の場所で宣言された静的メソッドを指定します。type - メソッドを返すクラス protected boolean isCandidateForInvocation(java.lang.reflect.Method method,
java.lang.Class<?> targetClass)Method が、指定されたターゲットクラスのインスタンスのメソッド解決の候補であるかどうかを判断します。 デフォルトの実装では、静的メソッドや Object 基本クラスのユーザー宣言されていないメソッドであっても、すべてのメソッドが候補と見なされます。
method - 評価する方法 targetClass - イントロスペクトされている具体的なターゲットクラス