Package org.iplass.mtp.command.async
Class AsyncRequestContext
java.lang.Object
org.iplass.mtp.command.async.AsyncRequestContext
- All Implemented Interfaces:
Serializable
,RequestContext
非同期Commandを呼び出し時に利用するRequestContext。
AsyncRequestContextは実行する際Serializeされ、DBに格納される。 そのため、非同期呼び出し時に渡す属性(attribute)は、Serializable実装されている必要がある。 また、極力小さなオブジェクトとなるようにする。 大きなオブジェクトを渡す場合は、別途Entityなどの形でDBに格納し、 AsyncRequestContextへは、そのキーであるoidを渡すようにする。
getParam,getParamsメソッドは、以下のようなロジックで動作する。
AsyncRequestContextは実行する際Serializeされ、DBに格納される。 そのため、非同期呼び出し時に渡す属性(attribute)は、Serializable実装されている必要がある。 また、極力小さなオブジェクトとなるようにする。 大きなオブジェクトを渡す場合は、別途Entityなどの形でDBに格納し、 AsyncRequestContextへは、そのキーであるoidを渡すようにする。
getParam,getParamsメソッドは、以下のようなロジックで動作する。
Map param = getAttribute(AsyncRequestConstants.PARAM); if (param == null) { return null; } return param.get(name)また、非同期実行の際のtaskId、queueはそれぞれ、 AsyncRequestConstants.TASK_ID、AsyncRequestConstants.QUEUEをキーにattributeより取得できる。
- See Also:
-
Constructor Summary
ConstructorDescriptionコンストラクタ。AsyncRequestContext
(Map<String, Object> attributeMap) コンストラクタ。 引数のattributeMapをattributeの属性として構築する。 -
Method Summary
Modifier and TypeMethodDescriptiongetAttribute
(String name) サーバサイドでリクエストスコープで保持している属性を取得します。 (HttpServletRequestのgetAttribute相当)属性の名前の一覧をIteratorで取得します。クライアントからの呼び出しパラメータを取得。 (HttpServletRequestのgetParameter相当)<T> T
クライアントからの呼び出しパラメータを指定の型として取得します。 typeにはプリミティブ側のラッパークラス、String、BigDecimal、SelectValue、 java.sql.Date、Timestamp、Timeを指定可能です。getParamAsBigDecimal
(String name) クライアントからの呼び出しパラメータをBigDecimal型として取得します。 new BigDecimal(String)で変換します。getParamAsBoolean
(String name) クライアントからの呼び出しパラメータをBoolean型として取得します。 Boolean.valueOf(String)で変換します。getParamAsDate
(String name, String format) クライアントからの呼び出しパラメータをjava.sql.Date型として取得します。 値の文字列のフォーマットはformatで指定します。getParamAsDouble
(String name) クライアントからの呼び出しパラメータをDouble型として取得します。 Double.valueOf(String)で変換します。getParamAsFile
(String name) AysncRequestContextでは利用できない。getParamAsInt
(String name) クライアントからの呼び出しパラメータをInteger型として取得します。 Integer.valueOf(String)で変換します。getParamAsLong
(String name) クライアントからの呼び出しパラメータをLong型として取得します。 Long.valueOf(String)で変換します。getParamAsTime
(String name, String format) クライアントからの呼び出しパラメータをTime型として取得します。 値の文字列のフォーマットはformatで指定します。getParamAsTimestamp
(String name, String format) クライアントからの呼び出しパラメータをTimestamp型として取得します。 値の文字列のフォーマットはformatで指定します。パラメータをMap形式で取得します。パラメータ名の一覧のIteratorを取得します。String[]
クライアントからの呼び出しパラメータ(複数) を取得します。 (HttpServletRequestのgetParameterValues相当)<T> T[]
クライアントからの呼び出しパラメータを指定の型の配列として取得します。 typeにはプリミティブ側のラッパークラス、String、BigDecimal、SelectValue、 java.sql.Date、Timestamp、Timeを指定可能です。getParamsAsBigDecimal
(String name) クライアントからの呼び出しパラメータをBigDecimal型配列として取得します。 new BigDecimal(String)で変換します。Boolean[]
getParamsAsBoolean
(String name) クライアントからの呼び出しパラメータをBoolean型配列として取得します。 Boolean.valueOf(String)で変換します。Date[]
getParamsAsDate
(String name, String format) クライアントからの呼び出しパラメータをjava.sql.Date型配列として取得します。 値の文字列のフォーマットはformatで指定します。Double[]
getParamsAsDouble
(String name) クライアントからの呼び出しパラメータをDouble型配列として取得します。 Double.valueOf(String)で変換します。getParamsAsFile
(String name) AysncRequestContextでは利用できない。Integer[]
getParamsAsInt
(String name) クライアントからの呼び出しパラメータをInteger型配列として取得します。 Integer.valueOf(String)で変換します。Long[]
getParamsAsLong
(String name) クライアントからの呼び出しパラメータをLong型配列として取得します。 Long.valueOf(String)で変換します。Time[]
getParamsAsTime
(String name, String format) クライアントからの呼び出しパラメータをTime型配列として取得します。 値の文字列のフォーマットはformatで指定します。getParamsAsTimestamp
(String name, String format) クライアントからの呼び出しパラメータをTimestamp型配列として取得します。 値の文字列のフォーマットはformatで指定します。AysncRequestContextでは利用できない。getSession
(boolean create) AysncRequestContextでは利用できない。void
removeAttribute
(String name) 指定のnameの属性を削除します。 setAttribute(name, null)と同義void
setAttribute
(String name, Object value) サーバサイドでリクエストスコープで属性を保持します。 (HttpServletRequestのsetAttribute相当)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.iplass.mtp.command.RequestContext
getParam, getParams
-
Constructor Details
-
AsyncRequestContext
public AsyncRequestContext()コンストラクタ。 -
AsyncRequestContext
コンストラクタ。 引数のattributeMapをattributeの属性として構築する。- Parameters:
attributeMap
-
-
-
Method Details
-
getParam
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータを取得。 (HttpServletRequestのgetParameter相当)- Specified by:
getParam
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
getParams
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータ(複数) を取得します。 (HttpServletRequestのgetParameterValues相当)- Specified by:
getParams
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
getParam
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータを指定の型として取得します。 typeにはプリミティブ側のラッパークラス、String、BigDecimal、SelectValue、 java.sql.Date、Timestamp、Timeを指定可能です。- Specified by:
getParam
in interfaceRequestContext
- Parameters:
name
-type
-- Returns:
-
getParams
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータを指定の型の配列として取得します。 typeにはプリミティブ側のラッパークラス、String、BigDecimal、SelectValue、 java.sql.Date、Timestamp、Timeを指定可能です。- Specified by:
getParams
in interfaceRequestContext
- Parameters:
name
-type
-- Returns:
-
getParamAsBoolean
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをBoolean型として取得します。 Boolean.valueOf(String)で変換します。- Specified by:
getParamAsBoolean
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
getParamsAsBoolean
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをBoolean型配列として取得します。 Boolean.valueOf(String)で変換します。- Specified by:
getParamsAsBoolean
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
getParamAsLong
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをLong型として取得します。 Long.valueOf(String)で変換します。- Specified by:
getParamAsLong
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
getParamsAsLong
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをLong型配列として取得します。 Long.valueOf(String)で変換します。- Specified by:
getParamsAsLong
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
getParamAsInt
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをInteger型として取得します。 Integer.valueOf(String)で変換します。- Specified by:
getParamAsInt
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
getParamsAsInt
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをInteger型配列として取得します。 Integer.valueOf(String)で変換します。- Specified by:
getParamsAsInt
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
getParamAsDouble
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをDouble型として取得します。 Double.valueOf(String)で変換します。- Specified by:
getParamAsDouble
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
getParamsAsDouble
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをDouble型配列として取得します。 Double.valueOf(String)で変換します。- Specified by:
getParamsAsDouble
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
getParamAsDate
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをjava.sql.Date型として取得します。 値の文字列のフォーマットはformatで指定します。- Specified by:
getParamAsDate
in interfaceRequestContext
- Parameters:
name
-format
-- Returns:
-
getParamsAsDate
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをjava.sql.Date型配列として取得します。 値の文字列のフォーマットはformatで指定します。- Specified by:
getParamsAsDate
in interfaceRequestContext
- Parameters:
name
-format
-- Returns:
-
getParamAsTimestamp
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをTimestamp型として取得します。 値の文字列のフォーマットはformatで指定します。- Specified by:
getParamAsTimestamp
in interfaceRequestContext
- Parameters:
name
-format
-- Returns:
-
getParamsAsTimestamp
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをTimestamp型配列として取得します。 値の文字列のフォーマットはformatで指定します。- Specified by:
getParamsAsTimestamp
in interfaceRequestContext
- Parameters:
name
-format
-- Returns:
-
getParamAsTime
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをTime型として取得します。 値の文字列のフォーマットはformatで指定します。- Specified by:
getParamAsTime
in interfaceRequestContext
- Parameters:
name
-format
-- Returns:
-
getParamsAsTime
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをTime型配列として取得します。 値の文字列のフォーマットはformatで指定します。- Specified by:
getParamsAsTime
in interfaceRequestContext
- Parameters:
name
-format
-- Returns:
-
getParamAsBigDecimal
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをBigDecimal型として取得します。 new BigDecimal(String)で変換します。- Specified by:
getParamAsBigDecimal
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
getParamsAsBigDecimal
Description copied from interface:RequestContext
クライアントからの呼び出しパラメータをBigDecimal型配列として取得します。 new BigDecimal(String)で変換します。- Specified by:
getParamsAsBigDecimal
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
getParamAsFile
AysncRequestContextでは利用できない。- Specified by:
getParamAsFile
in interfaceRequestContext
- Parameters:
name
-- Returns:
- Throws:
UnsupportedOperationException
-
getParamsAsFile
AysncRequestContextでは利用できない。- Specified by:
getParamsAsFile
in interfaceRequestContext
- Parameters:
name
-- Returns:
- Throws:
UnsupportedOperationException
-
getParamMap
Description copied from interface:RequestContext
パラメータをMap形式で取得します。- Specified by:
getParamMap
in interfaceRequestContext
- Returns:
-
getParamNames
Description copied from interface:RequestContext
パラメータ名の一覧のIteratorを取得します。- Specified by:
getParamNames
in interfaceRequestContext
- Returns:
-
getAttribute
Description copied from interface:RequestContext
サーバサイドでリクエストスコープで保持している属性を取得します。 (HttpServletRequestのgetAttribute相当)- Specified by:
getAttribute
in interfaceRequestContext
- Parameters:
name
-- Returns:
-
setAttribute
Description copied from interface:RequestContext
サーバサイドでリクエストスコープで属性を保持します。 (HttpServletRequestのsetAttribute相当)- Specified by:
setAttribute
in interfaceRequestContext
- Parameters:
name
-value
-
-
removeAttribute
Description copied from interface:RequestContext
指定のnameの属性を削除します。 setAttribute(name, null)と同義- Specified by:
removeAttribute
in interfaceRequestContext
- Parameters:
name
-
-
getAttributeNames
Description copied from interface:RequestContext
属性の名前の一覧をIteratorで取得します。- Specified by:
getAttributeNames
in interfaceRequestContext
- Returns:
-
getSession
AysncRequestContextでは利用できない。- Specified by:
getSession
in interfaceRequestContext
- Returns:
- Throws:
UnsupportedOperationException
-
getSession
AysncRequestContextでは利用できない。- Specified by:
getSession
in interfaceRequestContext
- Parameters:
create
- trueの場合、セッションオブジェクトが存在しなかったら新規に作成して返す- Returns:
- Throws:
UnsupportedOperationException
-