Class AsyncRequestContext

java.lang.Object
org.iplass.mtp.command.async.AsyncRequestContext
All Implemented Interfaces:
Serializable, RequestContext

public class AsyncRequestContext extends Object implements RequestContext, Serializable
非同期Commandを呼び出し時に利用するRequestContext。
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

    Constructors
    Constructor
    Description
    コンストラクタ。
    コンストラクタ。 引数のattributeMapをattributeの属性として構築する。
  • Method Summary

    Modifier and Type
    Method
    Description
    サーバサイドでリクエストスコープで保持している属性を取得します。 (HttpServletRequestのgetAttribute相当)
    属性の名前の一覧をIteratorで取得します。
    クライアントからの呼び出しパラメータを取得。 (HttpServletRequestのgetParameter相当)
    <T> T
    getParam(String name, Class<T> type)
    クライアントからの呼び出しパラメータを指定の型として取得します。 typeにはプリミティブ側のラッパークラス、String、BigDecimal、SelectValue、 java.sql.Date、Timestamp、Timeを指定可能です。
    クライアントからの呼び出しパラメータをBigDecimal型として取得します。 new BigDecimal(String)で変換します。
    クライアントからの呼び出しパラメータをBoolean型として取得します。 Boolean.valueOf(String)で変換します。
    getParamAsDate(String name, String format)
    クライアントからの呼び出しパラメータをjava.sql.Date型として取得します。 値の文字列のフォーマットはformatで指定します。
    クライアントからの呼び出しパラメータをDouble型として取得します。 Double.valueOf(String)で変換します。
    AysncRequestContextでは利用できない。
    クライアントからの呼び出しパラメータをInteger型として取得します。 Integer.valueOf(String)で変換します。
    クライアントからの呼び出しパラメータをLong型として取得します。 Long.valueOf(String)で変換します。
    getParamAsTime(String name, String format)
    クライアントからの呼び出しパラメータをTime型として取得します。 値の文字列のフォーマットはformatで指定します。
    クライアントからの呼び出しパラメータをTimestamp型として取得します。 値の文字列のフォーマットはformatで指定します。
    パラメータをMap形式で取得します。
    パラメータ名の一覧のIteratorを取得します。
    クライアントからの呼び出しパラメータ(複数) を取得します。 (HttpServletRequestのgetParameterValues相当)
    <T> T[]
    getParams(String name, Class<T> type)
    クライアントからの呼び出しパラメータを指定の型の配列として取得します。 typeにはプリミティブ側のラッパークラス、String、BigDecimal、SelectValue、 java.sql.Date、Timestamp、Timeを指定可能です。
    クライアントからの呼び出しパラメータをBigDecimal型配列として取得します。 new BigDecimal(String)で変換します。
    クライアントからの呼び出しパラメータをBoolean型配列として取得します。 Boolean.valueOf(String)で変換します。
    getParamsAsDate(String name, String format)
    クライアントからの呼び出しパラメータをjava.sql.Date型配列として取得します。 値の文字列のフォーマットはformatで指定します。
    クライアントからの呼び出しパラメータをDouble型配列として取得します。 Double.valueOf(String)で変換します。
    AysncRequestContextでは利用できない。
    クライアントからの呼び出しパラメータをInteger型配列として取得します。 Integer.valueOf(String)で変換します。
    クライアントからの呼び出しパラメータをLong型配列として取得します。 Long.valueOf(String)で変換します。
    getParamsAsTime(String name, String format)
    クライアントからの呼び出しパラメータをTime型配列として取得します。 値の文字列のフォーマットはformatで指定します。
    クライアントからの呼び出しパラメータをTimestamp型配列として取得します。 値の文字列のフォーマットはformatで指定します。
    AysncRequestContextでは利用できない。
    getSession(boolean create)
    AysncRequestContextでは利用できない。
    void
    指定の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

      public AsyncRequestContext(Map<String,Object> attributeMap)
      コンストラクタ。 引数のattributeMapをattributeの属性として構築する。
      Parameters:
      attributeMap -
  • Method Details

    • getParam

      public String getParam(String name)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータを取得。 (HttpServletRequestのgetParameter相当)
      Specified by:
      getParam in interface RequestContext
      Parameters:
      name -
      Returns:
    • getParams

      public String[] getParams(String name)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータ(複数) を取得します。 (HttpServletRequestのgetParameterValues相当)
      Specified by:
      getParams in interface RequestContext
      Parameters:
      name -
      Returns:
    • getParam

      public <T> T getParam(String name, Class<T> type)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータを指定の型として取得します。 typeにはプリミティブ側のラッパークラス、String、BigDecimal、SelectValue、 java.sql.Date、Timestamp、Timeを指定可能です。
      Specified by:
      getParam in interface RequestContext
      Parameters:
      name -
      type -
      Returns:
    • getParams

      public <T> T[] getParams(String name, Class<T> type)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータを指定の型の配列として取得します。 typeにはプリミティブ側のラッパークラス、String、BigDecimal、SelectValue、 java.sql.Date、Timestamp、Timeを指定可能です。
      Specified by:
      getParams in interface RequestContext
      Parameters:
      name -
      type -
      Returns:
    • getParamAsBoolean

      public Boolean getParamAsBoolean(String name)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをBoolean型として取得します。 Boolean.valueOf(String)で変換します。
      Specified by:
      getParamAsBoolean in interface RequestContext
      Parameters:
      name -
      Returns:
    • getParamsAsBoolean

      public Boolean[] getParamsAsBoolean(String name)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをBoolean型配列として取得します。 Boolean.valueOf(String)で変換します。
      Specified by:
      getParamsAsBoolean in interface RequestContext
      Parameters:
      name -
      Returns:
    • getParamAsLong

      public Long getParamAsLong(String name)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをLong型として取得します。 Long.valueOf(String)で変換します。
      Specified by:
      getParamAsLong in interface RequestContext
      Parameters:
      name -
      Returns:
    • getParamsAsLong

      public Long[] getParamsAsLong(String name)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをLong型配列として取得します。 Long.valueOf(String)で変換します。
      Specified by:
      getParamsAsLong in interface RequestContext
      Parameters:
      name -
      Returns:
    • getParamAsInt

      public Integer getParamAsInt(String name)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをInteger型として取得します。 Integer.valueOf(String)で変換します。
      Specified by:
      getParamAsInt in interface RequestContext
      Parameters:
      name -
      Returns:
    • getParamsAsInt

      public Integer[] getParamsAsInt(String name)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをInteger型配列として取得します。 Integer.valueOf(String)で変換します。
      Specified by:
      getParamsAsInt in interface RequestContext
      Parameters:
      name -
      Returns:
    • getParamAsDouble

      public Double getParamAsDouble(String name)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをDouble型として取得します。 Double.valueOf(String)で変換します。
      Specified by:
      getParamAsDouble in interface RequestContext
      Parameters:
      name -
      Returns:
    • getParamsAsDouble

      public Double[] getParamsAsDouble(String name)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをDouble型配列として取得します。 Double.valueOf(String)で変換します。
      Specified by:
      getParamsAsDouble in interface RequestContext
      Parameters:
      name -
      Returns:
    • getParamAsDate

      public Date getParamAsDate(String name, String format)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをjava.sql.Date型として取得します。 値の文字列のフォーマットはformatで指定します。
      Specified by:
      getParamAsDate in interface RequestContext
      Parameters:
      name -
      format -
      Returns:
    • getParamsAsDate

      public Date[] getParamsAsDate(String name, String format)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをjava.sql.Date型配列として取得します。 値の文字列のフォーマットはformatで指定します。
      Specified by:
      getParamsAsDate in interface RequestContext
      Parameters:
      name -
      format -
      Returns:
    • getParamAsTimestamp

      public Timestamp getParamAsTimestamp(String name, String format)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをTimestamp型として取得します。 値の文字列のフォーマットはformatで指定します。
      Specified by:
      getParamAsTimestamp in interface RequestContext
      Parameters:
      name -
      format -
      Returns:
    • getParamsAsTimestamp

      public Timestamp[] getParamsAsTimestamp(String name, String format)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをTimestamp型配列として取得します。 値の文字列のフォーマットはformatで指定します。
      Specified by:
      getParamsAsTimestamp in interface RequestContext
      Parameters:
      name -
      format -
      Returns:
    • getParamAsTime

      public Time getParamAsTime(String name, String format)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをTime型として取得します。 値の文字列のフォーマットはformatで指定します。
      Specified by:
      getParamAsTime in interface RequestContext
      Parameters:
      name -
      format -
      Returns:
    • getParamsAsTime

      public Time[] getParamsAsTime(String name, String format)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをTime型配列として取得します。 値の文字列のフォーマットはformatで指定します。
      Specified by:
      getParamsAsTime in interface RequestContext
      Parameters:
      name -
      format -
      Returns:
    • getParamAsBigDecimal

      public BigDecimal getParamAsBigDecimal(String name)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをBigDecimal型として取得します。 new BigDecimal(String)で変換します。
      Specified by:
      getParamAsBigDecimal in interface RequestContext
      Parameters:
      name -
      Returns:
    • getParamsAsBigDecimal

      public BigDecimal[] getParamsAsBigDecimal(String name)
      Description copied from interface: RequestContext
      クライアントからの呼び出しパラメータをBigDecimal型配列として取得します。 new BigDecimal(String)で変換します。
      Specified by:
      getParamsAsBigDecimal in interface RequestContext
      Parameters:
      name -
      Returns:
    • getParamAsFile

      public UploadFileHandle getParamAsFile(String name)
      AysncRequestContextでは利用できない。
      Specified by:
      getParamAsFile in interface RequestContext
      Parameters:
      name -
      Returns:
      Throws:
      UnsupportedOperationException
    • getParamsAsFile

      public UploadFileHandle[] getParamsAsFile(String name)
      AysncRequestContextでは利用できない。
      Specified by:
      getParamsAsFile in interface RequestContext
      Parameters:
      name -
      Returns:
      Throws:
      UnsupportedOperationException
    • getParamMap

      public Map<String,Object> getParamMap()
      Description copied from interface: RequestContext
      パラメータをMap形式で取得します。
      Specified by:
      getParamMap in interface RequestContext
      Returns:
    • getParamNames

      public Iterator<String> getParamNames()
      Description copied from interface: RequestContext
      パラメータ名の一覧のIteratorを取得します。
      Specified by:
      getParamNames in interface RequestContext
      Returns:
    • getAttribute

      public Object getAttribute(String name)
      Description copied from interface: RequestContext
      サーバサイドでリクエストスコープで保持している属性を取得します。 (HttpServletRequestのgetAttribute相当)
      Specified by:
      getAttribute in interface RequestContext
      Parameters:
      name -
      Returns:
    • setAttribute

      public void setAttribute(String name, Object value)
      Description copied from interface: RequestContext
      サーバサイドでリクエストスコープで属性を保持します。 (HttpServletRequestのsetAttribute相当)
      Specified by:
      setAttribute in interface RequestContext
      Parameters:
      name -
      value -
    • removeAttribute

      public void removeAttribute(String name)
      Description copied from interface: RequestContext
      指定のnameの属性を削除します。 setAttribute(name, null)と同義
      Specified by:
      removeAttribute in interface RequestContext
      Parameters:
      name -
    • getAttributeNames

      public Iterator<String> getAttributeNames()
      Description copied from interface: RequestContext
      属性の名前の一覧をIteratorで取得します。
      Specified by:
      getAttributeNames in interface RequestContext
      Returns:
    • getSession

      public SessionContext getSession()
      AysncRequestContextでは利用できない。
      Specified by:
      getSession in interface RequestContext
      Returns:
      Throws:
      UnsupportedOperationException
    • getSession

      public SessionContext getSession(boolean create)
      AysncRequestContextでは利用できない。
      Specified by:
      getSession in interface RequestContext
      Parameters:
      create - trueの場合、セッションオブジェクトが存在しなかったら新規に作成して返す
      Returns:
      Throws:
      UnsupportedOperationException