Package nablarch.fw.web.handler
Class HttpRequestJavaPackageMapping
java.lang.Object
nablarch.fw.web.handler.HttpRequestJavaPackageMapping
- All Implemented Interfaces:
Handler<HttpRequest,
,HttpResponse> HttpRequestHandler
このハンドラは、画面オンライン処理におけるリクエストパス中の部分文字列(ベースURI)を
Javaパッケージ階層にマッピングすることで、動的に委譲先ハンドラを決定するディスパッチ処理を行う。
本ハンドラの実装は基本的に
RequestPathJavaPackageMapping
のラッパーであり
その機能は以下の2点を除けば全く同じものである。
1. ディスパッチ対象のクラスが確定した時点で、HTTPアクセスログにその内容を出力する。
2. ベースパスを設定する際にURLの書式バリデーションを行うアクセサ setBaseUri(String)
を追加。
機能の詳細については、 RequestPathJavaPackageMapping
を参照すること。- See Also:
-
RequestPathJavaPackageMapping
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
ディスパッチャの実体。 note: 共通ハンドラを直接継承すると、HttpRequestHandlerを実装することが できないので、内部クラスに委譲する形にしている。 -
Constructor Summary
ConstructorDescriptionコンストラクタHttpRequestJavaPackageMapping
(String baseUri, String basePackage) コンストラクタ -
Method Summary
Modifier and TypeMethodDescriptionhandle
(HttpRequest request, ExecutionContext context) HTTPリクエストに対する処理を実行する。setBasePackage
(String basePackage) ベースパッケージを設定する。setBasePath
(String basePath) ベースパスを設定する。setBaseUri
(String baseUri) ベースURIを設定する。(setBasePath(String)
のシノニム)setOptionalPackageMappingEntries
(List<JavaPackageMappingEntry> optionalPackageMappingEntries) RequestHandlerEntryでURIに合致したマッピング先Javaパッケージを上書きする場合に使用する、JavaPackageMappingEntryのリストを設定する。
-
Constructor Details
-
HttpRequestJavaPackageMapping
public HttpRequestJavaPackageMapping()コンストラクタ -
HttpRequestJavaPackageMapping
コンストラクタ- Parameters:
baseUri
- マップ元リクエストURIbasePackage
- マップ先Javaパッケージ
-
-
Method Details
-
handle
HTTPリクエストに対する処理を実行する。 URI中の部分文字列をJavaパッケージへマッピングすることで動的に 委譲先のハンドラを決定し、処理を委譲する。 また、委譲先のクラスがハンドラインターフェースを実装していない場合でも、HttpMethodBinding
により処理を委譲する。- Specified by:
handle
in interfaceHandler<HttpRequest,
HttpResponse> - Specified by:
handle
in interfaceHttpRequestHandler
- Parameters:
request
- HTTPリクエストオブジェクトcontext
- サーバサイド実行コンテキストオブジェクト- Returns:
- HTTPレスポンスオブジェクト
-
setBasePath
ベースパスを設定する。- Parameters:
basePath
- ベースパス- Returns:
- このオブジェクト自体
-
setBaseUri
ベースURIを設定する。(setBasePath(String)
のシノニム)- Parameters:
baseUri
- ベースURI- Returns:
- このオブジェクト自体
-
setBasePackage
ベースパッケージを設定する。- Parameters:
basePackage
- ベースパッケージ- Returns:
- このオブジェクト自体
-
setOptionalPackageMappingEntries
public HttpRequestJavaPackageMapping setOptionalPackageMappingEntries(List<JavaPackageMappingEntry> optionalPackageMappingEntries) RequestHandlerEntryでURIに合致したマッピング先Javaパッケージを上書きする場合に使用する、JavaPackageMappingEntryのリストを設定する。- Parameters:
optionalPackageMappingEntries
- RequestHandlerEntryでURIに合致したマッピング先Javaパッケージを上書きする場合に使用する、JavaPackageMappingEntryのリスト- Returns:
- このオブジェクト自体
-