Class ServletExecutionContext

Direct Known Subclasses:
MockServletExecutionContext

public class ServletExecutionContext extends ExecutionContext
サーブレットコンテナ上でのリクエスト処理における実行コンテキスト
  • Constructor Details

    • ServletExecutionContext

      public ServletExecutionContext(jakarta.servlet.http.HttpServletRequest servletReq, jakarta.servlet.http.HttpServletResponse servletRes, jakarta.servlet.ServletContext servletCtx)
      コンストラクタ。
      Parameters:
      servletReq - サーブレットリクエスト
      servletRes - サーブレットレスポンス
      servletCtx - サーブレットコンテキスト
  • Method Details

    • getHttpRequest

      public HttpRequestWrapper getHttpRequest()
      HTTPリクエストオブジェクトを返す。
      Returns:
      HTTPリクエストオブジェクト
    • getServletRequest

      @Published(tag="architect") public NablarchHttpServletRequestWrapper getServletRequest()
      サーブレットリクエストを返す。
      Returns:
      サーブレットリクエスト
    • getServletResponse

      @Published(tag="architect") public jakarta.servlet.http.HttpServletResponse getServletResponse()
      サーブレットレスポンスを返す。
      Returns:
      サーブレットレスポンス
    • getServletContext

      public jakarta.servlet.ServletContext getServletContext()
      サーブレットコンテキストを返す。
      Returns:
      サーブレットコンテキスト
    • invalidateSession

      public ExecutionContext invalidateSession()
      現在のリクエストに紐付けられたセッションスコープを無効化する。
      Overrides:
      invalidateSession in class ExecutionContext
      Returns:
      このオブジェクト自体
    • isNewSession

      public boolean isNewSession()
      新規セッションであるかどうか。
      Overrides:
      isNewSession in class ExecutionContext
      Returns:
      新規セッションである場合はtrue
    • hasSession

      public boolean hasSession()
      セッションがあるかどうか。

      HttpSessionの生成を抑制したい場合には、本メソッドで判定する。

      Overrides:
      hasSession in class ExecutionContext
      Returns:
      セッションがある場合[@code true}
    • getRequestScopeMap

      public Map<String,Object> getRequestScopeMap()
      Description copied from class: ExecutionContext
      リクエストスコープ上の変数を格納したMapオブジェクトへの参照を返す。

      このMapへの変更はリクエストスコープに直接反映される。

      Overrides:
      getRequestScopeMap in class ExecutionContext
      Returns:
      リクエストスコープへの参照
    • setRequestScopeMap

      public ExecutionContext setRequestScopeMap(Map<String,Object> scope)
      Description copied from class: ExecutionContext
      リクエストスコープを設定する。
      Overrides:
      setRequestScopeMap in class ExecutionContext
      Parameters:
      scope - リクエストスコープ上の変数を格納するMap
      Returns:
      このオブジェクト自体
    • getSessionScopeMap

      public Map<String,Object> getSessionScopeMap()
      セッションスコープ情報を格納したMapオブジェクトへの参照を返す。

      このMapへの変更はセッションスコープに直接反映される。

      本メソッドではHttpSessionが存在しない場合、新規に作成する。
      HttpSessionを生成したくない場合にはhasSession()にて判定すること。

      Overrides:
      getSessionScopeMap in class ExecutionContext
      Returns:
      セッションスコープへの参照
      See Also:
    • getSessionScopedVar

      public <T> T getSessionScopedVar(String varName) throws ClassCastException
      セッションスコープ上の変数の値を取得する。

      本メソッドではHttpSessionがない場合は、生成せずにnullを返却する。

      Overrides:
      getSessionScopedVar in class ExecutionContext
      Type Parameters:
      T - 期待する変数の型
      Parameters:
      varName - 変数名
      Returns:
      変数の値
      Throws:
      ClassCastException - 実際の変数の型が期待する変数の型と適合しなかった場合。
      See Also:
    • setSessionScopeMap

      public ExecutionContext setSessionScopeMap(Map<String,Object> scope)
      Description copied from class: ExecutionContext
      セッションスコープ上の変数を格納したMapを設定する。
      Overrides:
      setSessionScopeMap in class ExecutionContext
      Parameters:
      scope - リクエストスコープ上の変数を格納したMap
      Returns:
      このオブジェクト自体
    • getNativeHttpSession

      @Published(tag="architect") public jakarta.servlet.http.HttpSession getNativeHttpSession(boolean create)
      サーブレットコンテナが提供するHttpSessionを取得する。 明示的にHttpSessionを使用したい場合は、本メソッドから取得する。
      Parameters:
      create - セッションを生成するかどうか
      Returns:
      HttpSession
      See Also:
      • HttpServletRequest.getSession(boolean)