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
Constructors -
Method Summary
Modifier and TypeMethodDescription処理移譲対象となるハンドラを返す。getDelegates(TRequest request, ExecutionContext context) このラッパーが処理を移譲するオブジェクトのリストを返す。 対象となるオブジェクトが存在しない場合は空の配列を返す。handle(TRequest request, ExecutionContext context) 入力データに対する処理を実行する。booleanisAppliedTo(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:
getDelegatesin 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
-