インターフェース RequestContext

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

public interface RequestContext
フロー実行を操作するための単一のリクエストのコンテキスト。Web フローユーザーが、実行中のリクエストと、それを管理する active flow execution に関するコンテキスト情報にアクセスできるようにします。

リクエストという用語は、外部アクターがフローシステムに 1 回呼び出し (スレッド) して、正確に 1 つのフロー実行を操作することを表すために使用されます。

このオブジェクトの新しいインスタンスは通常、フロー実行によってサポートされているコア操作の 1 つが呼び出されたときに作成されます。コア操作には、フロー実行を起動する start、フロー実行を再開する signalEvent、またはユーザーレスポンスを再発行する目的でフロー実行の最後のビュー選択を再構成する refresh のいずれかが含まれます。

このコンテキストオブジェクトは作成されると、フロー実行リクエスト処理全体に渡され、状態、ユーザーが実装したアクションコード、状態遷移条件などの SWF 内部成果物によってアクセスされ、推論される可能性があります。

フロー実行への呼び出しが返されると、このオブジェクトはスコープ外となり、自動的に破棄されます。リクエストコンテキストは FlowExecution 内で使用される内部アーティファクトです。このオブジェクトは、ビュー実装 (JSP) などの外部クライアントコードには公開されません。

requestScope プロパティは、このオブジェクトの存続期間中に存在する任意のデータの格納場所として使用できます。

Web フローシステムは、RequestContext オブジェクトが現在のスレッドに対してローカルであることを保証します。同時アクセスを心配することなく、安全に操作できます。

メモ: このリクエストコンテキストは、HTTP リクエストにはまったくリンクされていません。フロー定義のランタイム実行を操作するための単一の呼び出しを示すために、一般的な「リクエスト」命名規則を使用します。

作成者:
Keith Donald, Erwin Vervaet
  • メソッドの詳細

    • getActiveFlow

      FlowDefinition getActiveFlow() throws IllegalStateExceptionSE
      現在実行中のフローの定義を返します。
      戻り値:
      アクティブセッションのフロー定義
      例外:
      IllegalStateExceptionSE - フロー実行がアクティブでない場合
      関連事項:
    • getCurrentState

      StateDefinition getCurrentState() throws IllegalStateExceptionSE
      実行中のフローの現在の状態を返します。アクティブフローの開始状態にまだ入っていない場合は、null を返します。
      戻り値:
      現在の状態、または開始中の場合は null 
      例外:
      IllegalStateExceptionSE - このフロー実行がアクティブでない場合
      関連事項:
    • getMatchingTransition

      TransitionDefinition getMatchingTransition(StringSE eventId) throws IllegalStateExceptionSE
      指定されたイベントの発生時に実行される遷移を返します。
      パラメーター:
      eventId - ユーザーイベントの ID
      戻り値:
      トリガーとなる遷移、または一致する遷移がない場合は null 
      例外:
      IllegalStateExceptionSE - このフロー実行がアクティブでない場合
      関連事項:
    • inViewState

      boolean inViewState()
      フローが現在アクティブでビュー状態にある場合は true を返します。ビュー状態 getViewScope() にある場合は、安全に呼び出すことができます。
      戻り値:
      ビュー状態の場合は true、そうでない場合は false
      関連事項:
    • getRequestScope

      MutableAttributeMap<ObjectSE> getRequestScope()
      リクエストスコープ内の属性にアクセスしたり設定したりするための変更可能なマップを返します。 リクエストスコープの属性は、このリクエストの期間中のみ存在します
      戻り値:
      リクエストスコープ
    • getFlashScope

      MutableAttributeMap<ObjectSE> getFlashScope()
      フラッシュスコープ内の属性にアクセスしたり設定したりするための変更可能なマップを返します。 フラッシュスコープの属性は、フロー実行で次のイベントが通知されるまで存在します
      戻り値:
      フラッシュスコープ
    • getViewScope

      ビュースコープ内の属性にアクセスしたり設定したりするための変更可能なマップを返します。 ビュースコープの属性は、現在のビューステートの存続期間中存在します
      戻り値:
      ビュースコープ
      例外:
      IllegalStateExceptionSE - このフローがビューステートにないか、フロー実行がアクティブでない場合
      関連事項:
    • getFlowScope

      フロースコープ内の属性にアクセスしたり設定したりするための変更可能なマップを返します。 フロースコープ属性は、アクティブなフローセッションの存続期間中存在します
      戻り値:
      フロースコープ
      例外:
      IllegalStateExceptionSE - フロー実行がアクティブでない場合
      関連事項:
    • getConversationScope

      MutableAttributeMap<ObjectSE> getConversationScope()
      会話スコープ内の属性にアクセスしたり設定したりするための変更可能なアクセサーを返します。 会話スコープの属性は、実行中のフローの存続期間中存在し、すべてのフローセッション間で共有されます
      戻り値:
      会話の範囲
      関連事項:
    • getRequestParameters

      ParameterMap getRequestParameters()
      このリクエストに関連付けられた不変の入力パラメーターを Spring Web Flow に返します。返されるマップは不変であり、変更できません。

      これは通常、ExternalContext.getRequestParameterMap() に直接アクセスするための便利なショートカットです。

      関連事項:
    • getExternalContext

      ExternalContext getExternalContext()
      このリクエストを開始(またはトリガー)した外部クライアントコンテキストを返します。

      返されたコンテキストオブジェクトはファサードとして機能し、呼び出し元のクライアントの環境への単一のアクセスポイントを提供します。これにより、その環境内の特定の構成要素に縛られることなく、クライアント環境の属性への正規化されたアクセスが提供されます。

      さらに、このコンテキストは、サーブレットなどの特定のクライアント環境の特定のコンテキスト型にダウンキャストできる場合があります。このようなダウンキャストにより、たとえばネイティブ HttpServletRequest に完全にアクセスできるようになります。ただし、移植性上の理由から、フロー成果物を特定の デプロイ環境に結合することは、可能な限り避けてください。

      戻り値:
      現在の実行リクエストをトリガーした元の外部コンテキスト
    • getMessageContext

      MessageContext getMessageContext()
      このリクエストのメッセージコンテキストを返します。フロー実行中にメッセージを記録してクライアントに表示できます。
      戻り値:
      メッセージコンテキスト
    • getFlowExecutionContext

      FlowExecutionContext getFlowExecutionContext()
      フロー実行自体に関するコンテキスト情報を返します。このコンテキストの情報は通常、複数のリクエストにわたります。
      戻り値:
      フロー実行コンテキスト
    • getCurrentEvent

      Event getCurrentEvent()
      このフローによって処理されている現在のイベントを返します。イベントによって状態遷移が発生する場合と発生しない場合があります。
      戻り値:
      現在のイベント、またはまだイベントが通知されていない場合は null
    • getCurrentTransition

      TransitionDefinition getCurrentTransition()
      このリクエストで実行されている現在の遷移を返します。
      戻り値:
      現在の遷移、または遷移がまだ発生していない場合は null 
    • getCurrentView

      View getCurrentView()
      現在使用中のビューを返します。null でない場合、返されたビューはレンダリングされようとしているか、レンダリング中であるか、ユーザーイベントを処理しているか、ユーザーイベントの処理が終了しており、現在の ViewState は状態遷移により終了しています。フローがビュー状態にない場合は、null を返します。
      戻り値:
      現在のビュー、またはフローがビュー状態にない場合は null 
    • getAttributes

      MutableAttributeMap<ObjectSE> getAttributes()
      現在のリクエストの状態に関する属性にアクセスするためのコンテキストマップを返します。これらの属性は、フロー実行の動作に影響を与えるために使用される場合があります。
      戻り値:
      このリクエストの現在の属性、または何も設定されていない場合は空
    • getFlowExecutionUrl

      StringSE getFlowExecutionUrl() throws IllegalStateExceptionSE
      このフロー実行の URL を返します。後続のリクエストでこの実行をコールバックできるようにするために、このフロー実行の URL を書き出すレスポンスライターで必要です。
      戻り値:
      フロー実行 URL
      例外:
      IllegalStateExceptionSE - フロー実行にまだキーが割り当てられていない場合