Package nablarch.fw
Class HandlerQueueManager<TSelf>
java.lang.Object
nablarch.fw.HandlerQueueManager<TSelf>
- Type Parameters:
TSelf
- 具象クラスの型
- Direct Known Subclasses:
ExecutionContext
,nablarch.fw.web.HttpServer
,Main
,WebFrontController
ハンドラキューとその上の各ハンドラを管理する機能を実装した抽象クラス。
- Author:
- Iwauo Tajima
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddHandler
(int pos, Handler<?, ?> handler) ハンドラキューにハンドラを登録する。addHandler
(Object handler) リクエストハンドラを登録する。addHandler
(String uriPattern, Object handler) リクエストハンドラを登録する。addHandler
(String requestPattern, Handler<TRequest, ?> handler) ハンドラを登録する。addHandler
(Handler<?, ?> handler) ハンドラキューにハンドラを登録する。addHandlers
(Collection<? extends Handler> handlers) ハンドラキューにハンドラを登録する。ハンドラーキューの内容をクリアする。<T extends Handler<?,
?>>
TgetHandlerOf
(Class<T> handlerClass) ハンドラキュー上の各ハンドラのうち、 指定されたクラスのものを返す。現在のハンドラキューの内容を返す。<TData,
TResult>
MethodBinder<TData,TResult> メソッドレベルの処理委譲を行うコンポーネントを返す。setHandlerQueue
(Collection<? extends Handler> handlers) ハンドラキューの内容を入れ替える。setMethodBinder
(MethodBinder<?, ?> binder) メソッドレベルの処理委譲を行うコンポーネントを指定する。
-
Constructor Details
-
HandlerQueueManager
public HandlerQueueManager()
-
-
Method Details
-
getHandlerQueue
現在のハンドラキューの内容を返す。- Returns:
- 現在のハンドラキューの内容
-
setHandlerQueue
ハンドラキューの内容を入れ替える。- Parameters:
handlers
- ハンドラキュー- Returns:
- このオブジェクト自体
-
addHandlers
ハンドラキューにハンドラを登録する。- Parameters:
handlers
- 登録するハンドラ- Returns:
- このオブジェクト自体
-
clearHandlers
ハンドラーキューの内容をクリアする。- Returns:
- このオブジェクト自体
-
addHandler
ハンドラキューにハンドラを登録する。- Parameters:
handler
- 登録するハンドラ- Returns:
- このインスタンス自体
-
addHandler
ハンドラキューにハンドラを登録する。- Parameters:
pos
- ハンドラの挿入位置handler
- 登録するハンドラ- Returns:
- このインスタンス自体
-
addHandler
public <TRequest extends Request<?>> TSelf addHandler(String requestPattern, Handler<TRequest, ?> handler) ハンドラを登録する。- Type Parameters:
TRequest
- 登録するハンドラのリクエストオブジェクトの型- Parameters:
requestPattern
- このハンドラがキューに積まれるリクエストパス(Glob書式)handler
- 登録するハンドラ- Returns:
- このインスタンス自体
-
getHandlerOf
ハンドラキュー上の各ハンドラのうち、 指定されたクラスのものを返す。指定されたクラスのインスタンスが複数登録されていた場合は、 もっとも上位ハのンドラを返す。 該当するハンドラが登録されていなかった場合はnullを返す。
- Type Parameters:
T
- ハンドラのクラス- Parameters:
handlerClass
- ハンドラのクラス- Returns:
- ハンドラのインスタンス
-
addHandler
リクエストハンドラを登録する。登録するオブジェクトは暗黙的に
HttpMethodBinding
でラップされる。 すなわち、このメソッドの処理は以下のソースコードと等価である。 addHandler(uriPattern, new HttpMethodBinder(handler));- Parameters:
uriPattern
- リクエストハンドラが実行されるリクエストURIのパターン (null,空文字は不可)handler
- リクエストハンドラ (null不可)- Returns:
- このオブジェクト自体
- See Also:
-
addHandler
リクエストハンドラを登録する。- Parameters:
handler
- リクエストハンドラ- Returns:
- このオブジェクト自体
-
setMethodBinder
メソッドレベルの処理委譲を行うコンポーネントを指定する。- Parameters:
binder
- 処理委譲を行うコンポーネント- Returns:
- このインスタンス自体
-
getMethodBinder
メソッドレベルの処理委譲を行うコンポーネントを返す。- Type Parameters:
TData
- 入力データの型TResult
- 結果データの型- Returns:
- 処理委譲を行うコンポーネント
-