インターフェース RequestAttributes

すべての既知のサブインターフェース:
AsyncWebRequestNativeWebRequestWebRequest
すべての既知の実装クラス:
AbstractRequestAttributesDispatcherServletWebRequestFacesRequestAttributesFacesWebRequestServletRequestAttributesServletWebRequestStandardServletAsyncWebRequest

public interface RequestAttributes
リクエストに関連付けられた属性オブジェクトにアクセスするための抽象化。「グローバルセッション」というオプションの概念を使用して、リクエストスコープの属性およびセッションスコープの属性へのアクセスをサポートします。

あらゆる種類のリクエスト / セッションメカニズム、特にサーブレットリクエストに対して実装できます。

導入:
2.0
作成者:
Juergen Hoeller
関連事項:
  • フィールドサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final StringSE
    リクエストオブジェクトへの標準参照の名前: 「リクエスト」。
    static final StringSE
    セッションオブジェクトへの標準参照の名前: 「セッション」。
    static final int
    リクエストのスコープを示す定数。
    static final int
    セッションのスコープを示す定数。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    getAttribute(StringSE name, int scope)
    指定された名前のスコープ付き属性の値を返します(ある場合)。
    スコープ内のすべての属性の名前を取得します。
    現在の基本的なセッションの ID を返します。
    基盤となるセッションで利用可能な最良のミューテックス、つまり、基盤となるセッションで同期するオブジェクトを公開します。
    void
    指定されたスコープ内の指定された属性の破棄時に実行されるコールバックを登録します。
    void
    removeAttribute(StringSE name, int scope)
    指定された名前のスコープ属性が存在する場合は削除します。
    指定されたキーのコンテキスト参照を解決します(ある場合)。
    void
    setAttribute(StringSE name, ObjectSE value, int scope)
    指定された名前のスコープ属性の値を設定し、既存の値(存在する場合)を置き換えます。
  • フィールドの詳細

  • メソッドの詳細

    • getAttribute

      @Nullable ObjectSE getAttribute(StringSE name, int scope)
      指定された名前のスコープ付き属性の値を返します(ある場合)。
      パラメーター:
      name - 属性の名前
      scope - スコープ識別子
      戻り値:
      現在の属性値。見つからない場合は null 
    • setAttribute

      void setAttribute(StringSE name, ObjectSE value, int scope)
      指定された名前のスコープ属性の値を設定し、既存の値(存在する場合)を置き換えます。
      パラメーター:
      name - 属性の名前
      scope - スコープ識別子
      value - 属性の値
    • removeAttribute

      void removeAttribute(StringSE name, int scope)
      指定された名前のスコープ属性が存在する場合は削除します。

      実装では、指定された属性に登録されている破棄コールバックも削除する必要があることに注意してください。ただし、この場合、登録された破棄コールバックを実行する必要ありません。オブジェクトが呼び出し側によって破棄されるためです(該当する場合)。

      パラメーター:
      name - 属性の名前
      scope - スコープ識別子
    • getAttributeNames

      StringSE[] getAttributeNames(int scope)
      スコープ内のすべての属性の名前を取得します。
      パラメーター:
      scope - スコープ識別子
      戻り値:
      文字列配列としての属性名
    • registerDestructionCallback

      void registerDestructionCallback(StringSE name, RunnableSE callback, int scope)
      指定されたスコープ内の指定された属性の破棄時に実行されるコールバックを登録します。

      実装は、適切なときに、つまり、それぞれリクエストの補完時またはセッションの終了時にコールバックを実行するために最善を尽くす必要があります。そのようなコールバックが基本的なランタイム環境でサポートされていない場合は、コールバックを無視して、対応する警告をログに記録する必要があります。

      「破棄」は通常、スコープ全体の破棄に対応し、アプリケーションによって明示的に削除された個々の属性には対応しないことに注意してください。このファサードの removeAttribute(String, int) メソッドを介して属性が削除された場合、削除されたオブジェクトが再利用されるか手動で破棄されると想定して、登録されている破棄コールバックも無効にする必要があります。

      注意 : コールバックオブジェクトは、セッションスコープに登録されている場合、通常は直列化可能である必要があります。そうしないと、コールバック(またはセッション全体)が Web アプリの再起動に耐えられない可能性があります。

      パラメーター:
      name - コールバックを登録する属性の名前
      callback - 実行される破棄コールバック
      scope - スコープ識別子
    • resolveReference

      @Nullable ObjectSE resolveReference(StringSE key)
      指定されたキーのコンテキスト参照を解決します(ある場合)。

      最低でも: キー「リクエスト」の HttpServletRequest リファレンス、およびキー「セッション」の HttpSession リファレンス。

      パラメーター:
      key - コンテキストキー
      戻り値:
      対応するオブジェクト。見つからない場合は null 
    • getSessionId

      StringSE getSessionId()
      現在の基本的なセッションの ID を返します。
      戻り値:
      String としてのセッション ID (非 null)
    • getSessionMutex

      ObjectSE getSessionMutex()
      基盤となるセッションで利用可能な最良のミューテックス、つまり、基盤となるセッションで同期するオブジェクトを公開します。
      戻り値:
      使用するセッションミューテックス (非 null)