TData - ハンドラに対する入力オブジェクトの型TResult - ハンドラの処理結果オブジェクトの型TSelf - 具象ハンドラの型public abstract class DispatchHandler<TData,TResult,TSelf extends Handler<TData,TResult>> extends java.lang.Object implements Handler<TData,TResult>
| コンストラクタと説明 |
|---|
DispatchHandler() |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
protected Handler<TData,TResult> |
createHandlerFor(java.lang.Object delegate,
ExecutionContext ctx)
渡されたインスタンスからハンドラインスタンスを作成して返す。
|
protected abstract java.lang.Class<?> |
getHandlerClass(TData input,
ExecutionContext context)
処理を委譲するハンドラの型を決定する。
|
TResult |
handle(TData req,
ExecutionContext ctx)
入力データに対する処理を実行する。
|
TSelf |
setImmediate(boolean immediate)
ディスパッチされたハンドラの実行タイミングを指定する。
|
protected void |
writeDispatchingClassLog(TData data,
ExecutionContext context,
java.lang.String fqn)
アクセスログにディスパッチ先クラスを出力する。
|
protected abstract java.lang.Class<?> getHandlerClass(TData input, ExecutionContext context) throws java.lang.ClassNotFoundException
input - 入力データcontext - 実行コンテキストjava.lang.ClassNotFoundException - 指定されたクラスが存在しなかった場合。public TResult handle(TData req, ExecutionContext ctx)
immediateの値に従って以下のように変化する。
immediate = true : ハンドラキューの先頭に追加。(即時に実行される。) immediate = false: ハンドラキューの末尾に追加。
protected Handler<TData,TResult> createHandlerFor(java.lang.Object delegate, ExecutionContext ctx)
delegate - インスタンスctx - 実行コンテキストpublic TSelf setImmediate(boolean immediate)
immediate - trueの場合は、ディスパッチされたハンドラをハンドラキューの先端に追加する。
falseの場合は、ディスパッチされたハンドラをハンドラキューの最後尾に追加する。protected void writeDispatchingClassLog(TData data, ExecutionContext context, java.lang.String fqn)
data - 入力データオブジェクトcontext - 実行コンテキストfqn - ディスパッチ先クラスの完全修飾クラス名