TData - 入力データの型TResult - 結果データの型public abstract class MethodBinding<TData,TResult> extends java.lang.Object implements HandlerWrapper<TData,TResult>
| コンストラクタと説明 | 
|---|
MethodBinding(java.lang.Object delegate)
コンストラクタ。 
 | 
| 修飾子とタイプ | メソッドと説明 | 
|---|---|
java.util.List<java.lang.Object> | 
getDelegates(TData data,
            ExecutionContext context)
このラッパーが処理を移譲するオブジェクトのリストを返す。 
 | 
protected java.lang.reflect.Method | 
getHandleMethod(java.lang.String name)
委譲対象オブジェクトのメソッドの中から、与えられたメソッド名をもち、
 かつ、Handler.handle() メソッドと互換なシグニチャを持てばtrueを返す。 
 | 
protected abstract java.lang.reflect.Method | 
getMethodBoundTo(TData data,
                ExecutionContext ctx)
入力データおよび実行コンテキストの内容に応じて、委譲対象のメソッドを決定する。 
 | 
TResult | 
handle(TData req,
      ExecutionContext ctx)
getMethodBoundTo() で取得したメソッドに対して後続処理を委譲し、
 その結果を返す。 
 | 
protected boolean | 
qualifiesAsHandler(java.lang.reflect.Method method)
与えられたメソッドがhandle()メソッドと互換なシグニチャを持てばtrueを返す。 
 | 
public MethodBinding(java.lang.Object delegate)
delegate - 委譲対象となるオブジェクトprotected abstract java.lang.reflect.Method getMethodBoundTo(TData data, ExecutionContext ctx)
data - 入力データctx - 実行コンテキストprotected java.lang.reflect.Method getHandleMethod(java.lang.String name)
1. 引数で渡された文字列と同じメソッド名をもつ。(大文字小文字は同一視) 2. メソッドの修飾子がパブリックかつ非スタティックである。 3. 引数を2つもち、第2引数の型がExecutionContextである。なお、該当するメソッドが存在しなかった場合はnullを返す。
name - 委譲対象となるメソッド名public TResult handle(TData req, ExecutionContext ctx) throws Result.NotFound
handle インタフェース内 Handler<TData,TResult>req - 入力オブジェクトctx - 実行コンテキストResult.NotFound - 入力データに対応するメソッドが存在しない場合。public java.util.List<java.lang.Object> getDelegates(TData data, ExecutionContext context)
getDelegates インタフェース内 HandlerWrapper<TData,TResult>data - ハンドラに対する入力データcontext - 実行コンテキストprotected boolean qualifiesAsHandler(java.lang.reflect.Method method)
method - 検証対象のメソッド