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
ConstructorsConstructorDescriptionコンストラクタ。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では利用できない。voidremoveAttribute(String name) 指定のnameの属性を削除します。 setAttribute(name, null)と同義voidsetAttribute(String name, Object value) サーバサイドでリクエストスコープで属性を保持します。 (HttpServletRequestのsetAttribute相当)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
getParamin interfaceRequestContext- Parameters:
name-- Returns:
-
getParams
Description copied from interface:RequestContextクライアントからの呼び出しパラメータ(複数) を取得します。 (HttpServletRequestのgetParameterValues相当)- Specified by:
getParamsin interfaceRequestContext- Parameters:
name-- Returns:
-
getParam
Description copied from interface:RequestContextクライアントからの呼び出しパラメータを指定の型として取得します。 typeにはプリミティブ側のラッパークラス、String、BigDecimal、SelectValue、 java.sql.Date、Timestamp、Timeを指定可能です。- Specified by:
getParamin interfaceRequestContext- Parameters:
name-type-- Returns:
-
getParams
Description copied from interface:RequestContextクライアントからの呼び出しパラメータを指定の型の配列として取得します。 typeにはプリミティブ側のラッパークラス、String、BigDecimal、SelectValue、 java.sql.Date、Timestamp、Timeを指定可能です。- Specified by:
getParamsin interfaceRequestContext- Parameters:
name-type-- Returns:
-
getParamAsBoolean
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをBoolean型として取得します。 Boolean.valueOf(String)で変換します。- Specified by:
getParamAsBooleanin interfaceRequestContext- Parameters:
name-- Returns:
-
getParamsAsBoolean
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをBoolean型配列として取得します。 Boolean.valueOf(String)で変換します。- Specified by:
getParamsAsBooleanin interfaceRequestContext- Parameters:
name-- Returns:
-
getParamAsLong
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをLong型として取得します。 Long.valueOf(String)で変換します。- Specified by:
getParamAsLongin interfaceRequestContext- Parameters:
name-- Returns:
-
getParamsAsLong
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをLong型配列として取得します。 Long.valueOf(String)で変換します。- Specified by:
getParamsAsLongin interfaceRequestContext- Parameters:
name-- Returns:
-
getParamAsInt
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをInteger型として取得します。 Integer.valueOf(String)で変換します。- Specified by:
getParamAsIntin interfaceRequestContext- Parameters:
name-- Returns:
-
getParamsAsInt
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをInteger型配列として取得します。 Integer.valueOf(String)で変換します。- Specified by:
getParamsAsIntin interfaceRequestContext- Parameters:
name-- Returns:
-
getParamAsDouble
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをDouble型として取得します。 Double.valueOf(String)で変換します。- Specified by:
getParamAsDoublein interfaceRequestContext- Parameters:
name-- Returns:
-
getParamsAsDouble
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをDouble型配列として取得します。 Double.valueOf(String)で変換します。- Specified by:
getParamsAsDoublein interfaceRequestContext- Parameters:
name-- Returns:
-
getParamAsDate
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをjava.sql.Date型として取得します。 値の文字列のフォーマットはformatで指定します。- Specified by:
getParamAsDatein interfaceRequestContext- Parameters:
name-format-- Returns:
-
getParamsAsDate
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをjava.sql.Date型配列として取得します。 値の文字列のフォーマットはformatで指定します。- Specified by:
getParamsAsDatein interfaceRequestContext- Parameters:
name-format-- Returns:
-
getParamAsTimestamp
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをTimestamp型として取得します。 値の文字列のフォーマットはformatで指定します。- Specified by:
getParamAsTimestampin interfaceRequestContext- Parameters:
name-format-- Returns:
-
getParamsAsTimestamp
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをTimestamp型配列として取得します。 値の文字列のフォーマットはformatで指定します。- Specified by:
getParamsAsTimestampin interfaceRequestContext- Parameters:
name-format-- Returns:
-
getParamAsTime
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをTime型として取得します。 値の文字列のフォーマットはformatで指定します。- Specified by:
getParamAsTimein interfaceRequestContext- Parameters:
name-format-- Returns:
-
getParamsAsTime
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをTime型配列として取得します。 値の文字列のフォーマットはformatで指定します。- Specified by:
getParamsAsTimein interfaceRequestContext- Parameters:
name-format-- Returns:
-
getParamAsBigDecimal
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをBigDecimal型として取得します。 new BigDecimal(String)で変換します。- Specified by:
getParamAsBigDecimalin interfaceRequestContext- Parameters:
name-- Returns:
-
getParamsAsBigDecimal
Description copied from interface:RequestContextクライアントからの呼び出しパラメータをBigDecimal型配列として取得します。 new BigDecimal(String)で変換します。- Specified by:
getParamsAsBigDecimalin interfaceRequestContext- Parameters:
name-- Returns:
-
getParamAsFile
AysncRequestContextでは利用できない。- Specified by:
getParamAsFilein interfaceRequestContext- Parameters:
name-- Returns:
- Throws:
UnsupportedOperationException
-
getParamsAsFile
AysncRequestContextでは利用できない。- Specified by:
getParamsAsFilein interfaceRequestContext- Parameters:
name-- Returns:
- Throws:
UnsupportedOperationException
-
getParamMap
Description copied from interface:RequestContextパラメータをMap形式で取得します。- Specified by:
getParamMapin interfaceRequestContext- Returns:
-
getParamNames
Description copied from interface:RequestContextパラメータ名の一覧のIteratorを取得します。- Specified by:
getParamNamesin interfaceRequestContext- Returns:
-
getAttribute
Description copied from interface:RequestContextサーバサイドでリクエストスコープで保持している属性を取得します。 (HttpServletRequestのgetAttribute相当)- Specified by:
getAttributein interfaceRequestContext- Parameters:
name-- Returns:
-
setAttribute
Description copied from interface:RequestContextサーバサイドでリクエストスコープで属性を保持します。 (HttpServletRequestのsetAttribute相当)- Specified by:
setAttributein interfaceRequestContext- Parameters:
name-value-
-
removeAttribute
Description copied from interface:RequestContext指定のnameの属性を削除します。 setAttribute(name, null)と同義- Specified by:
removeAttributein interfaceRequestContext- Parameters:
name-
-
getAttributeNames
Description copied from interface:RequestContext属性の名前の一覧をIteratorで取得します。- Specified by:
getAttributeNamesin interfaceRequestContext- Returns:
-
getSession
AysncRequestContextでは利用できない。- Specified by:
getSessionin interfaceRequestContext- Returns:
- Throws:
UnsupportedOperationException
-
getSession
AysncRequestContextでは利用できない。- Specified by:
getSessionin interfaceRequestContext- Parameters:
create- trueの場合、セッションオブジェクトが存在しなかったら新規に作成して返す- Returns:
- Throws:
UnsupportedOperationException
-