Package nablarch.fw
Class RequestHandlerEntry<TRequest extends Request<?>,TResult>
java.lang.Object
nablarch.fw.RequestHandlerEntry<TRequest,TResult>
- Type Parameters:
TRequest
- リクエストデータの型TResult
- 処理結果のデータ型
- All Implemented Interfaces:
Handler<TRequest,
,TResult> HandlerWrapper<TRequest,
TResult>
public class RequestHandlerEntry<TRequest extends Request<?>,TResult>
extends Object
implements HandlerWrapper<TRequest,TResult>
各リクエストのリクエストパスの内容に応じ、内部に保持するハンドラに
処理を委譲するかどうかを判断するハンドラ。
このハンドラでは、その内部にあるハンドラに対する参照を保持し、
各リクエストに対し、そのハンドラを実行する条件をリクエストパスのパターンで指定する。
URIとリクエストパスのパターンの照合処理はRequestPathMappingHelperに委譲する。
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription処理移譲対象となるハンドラを返す。getDelegates
(TRequest request, ExecutionContext context) このラッパーが処理を移譲するオブジェクトのリストを返す。 対象となるオブジェクトが存在しない場合は空の配列を返す。handle
(TRequest request, ExecutionContext context) 入力データに対する処理を実行する。boolean
isAppliedTo
(TRequest request, ExecutionContext context) 渡されたリクエストに対して、ハンドラを実行する必要があるかどうかを判断する。 このエントリに設定されたリクエストパターンがリクエストパスにマッチする場合はtrueを返す。setHandler
(Handler<TRequest, TResult> handler) このハンドラエントリ内にハンドラを設定する。setRequestPattern
(String requestPattern) このエントリ内のハンドラを実行するリクエストパスの パターン文字列を設定する。toString()
-
Constructor Details
-
RequestHandlerEntry
public RequestHandlerEntry()
-
-
Method Details
-
handle
入力データに対する処理を実行する。 この実装では、まずリクエストに対してこのエントリが保持する ハンドラを実行する必要があるかどうかをisAppliedTo(Request, ExecutionContext)
により決定する。 必要があればこのエントリ内のハンドラを実行しその結果を返す。 必要がなければこのエントリ内のハンドラは実行せずに、 ハンドラキュー上の後続ハンドラに処理を委譲し、その結果を返す。 -
getDelegates
このラッパーが処理を移譲するオブジェクトのリストを返す。 対象となるオブジェクトが存在しない場合は空の配列を返す。- Specified by:
getDelegates
in interfaceHandlerWrapper<TRequest extends Request<?>,
TResult> - Parameters:
request
- ハンドラに対する入力データcontext
- 実行コンテキスト- Returns:
- 内包するオブジェクト。
-
getDelegate
処理移譲対象となるハンドラを返す。- Returns:
- 処理移譲対象のハンドラ
-
setHandler
このハンドラエントリ内にハンドラを設定する。- Parameters:
handler
- リクエストハンドラ- Returns:
- このオブジェクト自体
-
setRequestPattern
このエントリ内のハンドラを実行するリクエストパスの パターン文字列を設定する。- Parameters:
requestPattern
- リクエストパターン文字列- Returns:
- このインスタンス自体
-
isAppliedTo
渡されたリクエストに対して、ハンドラを実行する必要があるかどうかを判断する。 このエントリに設定されたリクエストパターンがリクエストパスにマッチする場合はtrueを返す。- Parameters:
request
- リクエストデータcontext
- 実行コンテキスト- Returns:
- ハンドラを実行する必要がある場合はtrue
-
toString
-