パッケージ jakarta.faces.context

クラス FacesContext

java.lang.ObjectSE
jakarta.faces.context.FacesContext
既知の直属サブクラス
FacesContextWrapper

public abstract class FacesContext extends ObjectSE

FacesContext には、単一の Jakarta Faces リクエストの処理、および対応するレスポンスのレンダリングに関連するリクエストごとの状態情報がすべて含まれています。リクエスト処理ライフサイクルの各フェーズに渡され、潜在的に変更されます。

FacesContext インスタンスは、現在の Web アプリケーションに関連付けられている FacesContextFactory インスタンスの getFacesContext() メソッドの呼び出しによって、リクエスト処理の最初に特定のリクエストに関連付けられます。release() メソッドが呼び出されるまでインスタンスはアクティブのままです。その後、このインスタンスへの参照は許可されません。FacesContext インスタンスはアクティブですが、この Web アプリケーションを実行する Jakarta Servlet コンテナーがこのリクエストの処理に利用するスレッド以外のスレッドから参照してはなりません。

FacesContext は、@Inject FacesContext facesContext; を使用して、Bean をスコープとするリクエストに挿入できます。

  • コンストラクターの詳細

    • FacesContext

      public FacesContext()
      デフォルトコンストラクター。

      これはコールスタックを調べて、ファクトリから作成されたかどうかを確認します。

  • メソッドの詳細

    • getApplication

      public abstract Application getApplication()

      この Web アプリケーションに関連付けられている Application インスタンスを返します。

      アプリケーションの起動時またはシャットダウン時にこのメソッドを呼び出すことは有効です。アプリケーションの起動またはシャットダウン中に呼び出された場合、正しい現在の Application インスタンスを返します。

      戻り値:
      この Web アプリケーションに関連付けられている Application インスタンス。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • getAttributes

      public MapSE<ObjectSE,ObjectSE> getAttributes()

      この FacesContext インスタンスに関連付けられた属性を表す変更可能な Map を返します。この Map は、現在のリクエストの Faces ライフサイクルが終了したときにスコープから外したい属性を保存できます。これは、リクエストの終了と常に同じとは限りません。特に、Faces ライフサイクルのに呼び出される Jakarta Servlet フィルターの場合はそうです。このリクエストのために完了します。この Map にアクセスしても、他のマップ(リクエスト、セッション、アプリケーションスコープ)の場合のように、イベントは発生しません。release() が呼び出されると、属性をクリアする必要があります。

      このメソッドによって返される Map は、リクエストに関連付けられていません。リクエスト属性を取得または設定したい場合は、ExternalContext.getRequestMap() を参照してください。

      デフォルトの実装は UnsupportedOperationException をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。

      戻り値:
      この FacesContext インスタンスに関連付けられた属性を表す可変 Map
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      導入:
      2.0
    • getPartialViewContext

      public PartialViewContext getPartialViewContext()

      このリクエストの PartialViewContext を返します。PartialViewContext は、リクエスト処理ライフサイクルの実行部分(指定された部分処理と呼ばれます)中の指定されたコンポーネントの処理と指定されたコンポーネントの表示(指定されたレンダリングと呼ばれます)を制御するために使用されます。存在しない場合、このメソッドは新しい PartialViewContext を返す必要があります。

      戻り値:
      このリクエストの PartialViewContext のインスタンス。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      導入:
      2.0
    • getClientIdsWithMessages

      public abstract IteratorSE<StringSE> getClientIdsWithMessages()

      少なくとも 1 つの FacesMessage がキューに入れられているクライアント識別子に対して Iterator を返します。そのようなクライアント識別子がない場合、空の Iterator が返されます。特定のクライアント識別子に関連付けられていないメッセージがキューに登録されている場合、null 値が反復値に含まれます。Iterator の要素は、addMessage(java.lang.String, jakarta.faces.application.FacesMessage) で追加された順序で返される必要があります。

      戻り値:
      少なくとも 1 つの FacesMessage がキューに入れられたクライアント識別子を介した Iterator 
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • getELContext

      public ELContext getELContext()

      この FacesContext インスタンスの ELContext インスタンスを返します。この ELContext インスタンスは、関連付けられている FacesContext インスタンスと同じ存続期間とスコープを持ち、このメソッドが特定の FacesContext インスタンスに対して初めて呼び出されたときに、遅延して作成される場合があります。ELContext インスタンスの作成時に、実装は次のアクションを実行する必要があります。

      戻り値:
      ELContext のインスタンス。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      導入:
      1.2
    • getExceptionHandler

      public ExceptionHandler getExceptionHandler()

      このリクエストの ExceptionHandler を返します。

      戻り値:
      ExceptionHandler のインスタンス。
    • setExceptionHandler

      public void setExceptionHandler(ExceptionHandler exceptionHandler)

      このリクエストの ExceptionHandler を設定します。

      パラメーター:
      exceptionHandler - このリクエストの ExceptionHandler 
    • getLifecycle

      public abstract Lifecycle getLifecycle()

      この FacesContext インスタンスの Lifecycle インスタンスを返します。

      戻り値:
      Lifecycle のインスタンス
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      導入:
      4.0
    • getExternalContext

      public abstract ExternalContext getExternalContext()

      この FacesContext インスタンスの ExternalContext インスタンスを返します

      アプリケーションの起動時またはシャットダウン時にこのメソッドを呼び出すことは有効です。アプリケーションの起動時またはシャットダウン時に呼び出された場合、このメソッドは、そのクラスの javadoc に示されている特別な動作を持つ ExternalContext インスタンスを返します。メソッドのドキュメントは、アプリケーションの起動時またはシャットダウン時に呼び出すことが有効であることをサポートする必要があります。

      戻り値:
      ExternalContext のインスタンス
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • getMaximumSeverity

      public abstract FacesMessage.Severity getMaximumSeverity()

      特定の UIComponent に関連付けられているかどうかに関係なく、キューに入っている FacesMessage に記録されている最大の重大度レベルを返します。そのようなメッセージがキューに入っていない場合は、null を返します。

      戻り値:
      最大の重大度レベル。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • getMessages

      public abstract IteratorSE<FacesMessage> getMessages()

      特定のクライアント識別子に関連付けられているかどうかに関係なく、キューに入れられた FacesMessage を介して Iterator を返します。そのようなメッセージがキューに入っていない場合は、空の Iterator を返します。Iterator の要素は、addMessage(java.lang.String, jakarta.faces.application.FacesMessage) の呼び出しで追加された順序で返される必要があります。

      戻り値:
      キューに入れられた FacesMessage より Iterator
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • getMessageList

      public ListSE<FacesMessage> getMessageList()

      getMessages() と同様ですが、List<FacesMessage> を返し、Jakarta Expression Language 式からの使用を可能にします。

      デフォルトの実装は UnsupportedOperationException をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。

      戻り値:
      呼び出し時に存在するメッセージのスナップショットである不変の List 
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      導入:
      2.0
    • getMessageList

      public ListSE<FacesMessage> getMessageList(StringSE clientId)

      getMessages(java.lang.String) に似ていますが、クライアント ID が引数 clientId に一致するコンポーネントのメッセージの List<FacesMessage> を返します。

      デフォルトの実装は UnsupportedOperationException をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。

      パラメーター:
      clientId - コンポーネントのクライアント ID。
      戻り値:
      呼び出し時に存在するメッセージのスナップショットである不変の List 
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      導入:
      2.0
    • getMessages

      public abstract IteratorSE<FacesMessage> getMessages(StringSE clientId)

      指定されたクライアント識別子に関連付けられているキューに入れられた FacesMessage を介して Iterator を返します(clientId が null でない場合)、または特定のクライアント識別子に関連付けられていないキューに入れられた FacesMessage を返します(clientId が null の場合))。そのようなメッセージがキューに入っていない場合は、空の Iterator を返します。Iterator の要素は、addMessage(java.lang.String, jakarta.faces.application.FacesMessage) への呼び出しで追加された順序で返される必要があります。

      パラメーター:
      clientId - メッセージがリクエストされたクライアント識別子、またはクライアント識別子に関連付けられていないメッセージの null 
      戻り値:
       FacesMessage 上の Iterator
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • getNamingContainerSeparatorChar

      public char getNamingContainerSeparatorChar()

      this を引数として渡して、UINamingContainer.getSeparatorChar(jakarta.faces.context.FacesContext) を呼び出した結果を返します。これにより、Jakarta Expression Language 式 #{facesContext.namingContainerSeparatorChar} からこのプロパティの値にアクセスできるようになることに注意してください。

      戻り値:
      セパレータ文字。
    • getRenderKit

      public abstract RenderKit getRenderKit()

      UIViewRoot に指定されているレンダーキット識別子の RenderKit インスタンスがある場合は、それを返します。現在の UIViewRoot がない場合、UIViewRoot に指定された renderKitId がない場合、指定された識別子の RenderKit がない場合は、代わりに null を返します。

      戻り値:
      UIViewRoot に関連付けられた RenderKit のインスタンス。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • getRenderResponse

      public abstract boolean getRenderResponse()

      現在のリクエストに対して renderResponse() メソッドが呼び出された場合は、true を返します。

      戻り値:
      renderResponse() が呼び出されたかどうかを示すフラグ。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • getResponseComplete

      public abstract boolean getResponseComplete()

      現在のリクエストに対して responseComplete() メソッドが呼び出された場合は、true を返します。

      戻り値:
      responseComplete() メソッドが呼び出されたかどうかを示すブール値。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • getResourceLibraryContracts

      public ListSE<StringSE> getResourceLibraryContracts()

      このビューでの使用に適切であると計算されたリソースライブラリ契約のリストを返します。そのようなリソースライブラリ契約がない場合は空のリストを返します。このメソッドによって返されるリストは不変でなければなりません。このメソッドが導入される前の仕様の実装との下位互換性のために、空のリストを返す実装が提供されています。このメソッドが導入されたバージョンに準拠した実装は、このメソッドを指定どおりに実装する必要があります。

      戻り値:
      リソースライブラリ契約のリスト。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      導入:
      2.2
    • setResourceLibraryContracts

      public void setResourceLibraryContracts(ListSE<StringSE> contracts)

      このビューで使用できるように計算されたリソースライブラリ契約を設定します。実装は、getResourceLibraryContracts() から戻るために、受信 List の内容を不変の List にコピーする必要があります。引数が null または空の場合、実行されるアクションは、引数が null の場合と同じです。後続の getResourceLibraryContracts への呼び出しは null を返します。このメソッドは、ViewDeclarationLanguage.createView(jakarta.faces.context.FacesContext, java.lang.String) の処理中、UIViewRoot のインスタンスに対応するタグの VDL タグハンドラー中にのみ呼び出すことができます。このメソッドが導入される前の仕様の実装との下位互換性のために、アクションを実行しない実装が提供されています。このメソッドが導入されたバージョンに準拠した実装は、このメソッドを指定どおりに実装する必要があります。

      パラメーター:
      contracts - 不変の List として返される新しい契約。getResourceLibraryContracts() への後続の呼び出しから。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      導入:
      2.2
    • isValidationFailed

      public boolean isValidationFailed()

      現在のリクエストに対して validationFailed() メソッドが呼び出された場合は、true を返します。

      戻り値:
      validationFailed() メソッドが現在のリクエストに対して呼び出されたかどうかを示すブール値
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • getResponseStream

      public abstract ResponseStream getResponseStream()

      コンポーネントがバイナリ出力を送信する ResponseStream を返します。特定のレスポンス内で、コンポーネントは ResponseStream または ResponseWriter のいずれかを使用できますが、両方を使用することはできません。

      戻り値:
      ResponseStream インスタンス。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • setResponseStream

      public abstract void setResponseStream(ResponseStream responseStream)

      コンポーネントがバイナリ出力を送信する ResponseStream を設定します。

      パラメーター:
      responseStream - このレスポンスの新しい ResponseStream
      例外:
      NullPointerExceptionSE - responseStream が null の場合
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • getResponseWriter

      public abstract ResponseWriter getResponseWriter()

      コンポーネントが文字ベースの出力を送信する先の ResponseWriter を返します。特定のレスポンス内で、コンポーネントは ResponseStream または ResponseWriter のいずれかを使用できますが、両方を使用することはできません。

      戻り値:
      ResponseWriter インスタンス。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • setResponseWriter

      public abstract void setResponseWriter(ResponseWriter responseWriter)

      コンポーネントが文字ベースの出力を送信する ResponseWriter を設定します。

      パラメーター:
      responseWriter - このレスポンスの新しい ResponseWriter
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      NullPointerExceptionSE - responseWriter が null の場合
    • getViewRoot

      public abstract UIViewRoot getViewRoot()

      このリクエストに関連付けられているルートコンポーネントを返します。

      アプリケーションの起動時またはシャットダウン時にこのメソッドを呼び出すことは有効です。アプリケーションの起動時またはシャットダウン時に呼び出された場合、このメソッドはロケールを Locale.getDefault() に設定した新しい UIViewRoot を返します。

      戻り値:
      UIViewRoot インスタンス。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • setViewRoot

      public abstract void setViewRoot(UIViewRoot root)

      このリクエストに関連付けられているルートコンポーネントを設定します。

      このメソッドは、アプリケーションハンドラー(またはハンドラーが呼び出すクラス)によって、リクエスト処理ライフサイクルのアプリケーション呼び出しフェーズ中、およびリクエスト処理ライフサイクルのビュー復元フェーズ中に(特に新しいルートコンポーネントが作成されたとき)呼び出すことができます。仕様の現在のバージョンでは、実装はこの制限を強制する必要はありませんが、仕様の将来のバージョンでは強制が必要になる可能性があります。

      現在の UIViewRoot が非 null であり、引数 root で equals() を呼び出すと、現在の UIViewRoot を渡すと false が返され、UIViewRoot.getViewMap() から返された Map で clear メソッドを呼び出す必要があります。

      パラメーター:
      root - 新しいコンポーネント UIViewRoot コンポーネント
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      NullPointerExceptionSE - root が null の場合
    • addMessage

      public abstract void addMessage(StringSE clientId, FacesMessage message)

      clientId が null でない場合は、指定されたクライアント識別子に関連付けられたメッセージのセットに FacesMessage を追加します。clientId が null の場合、この FacesMessage は特定のコンポーネントインスタンスに関連付けられていないと見なされます。

      パラメーター:
      clientId - このメッセージが関連付けられているクライアント識別子 (もしあれば)
      message - 追加するメッセージ
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      NullPointerExceptionSE - message が null の場合
    • isReleased

      public boolean isReleased()

      この FacesContext インスタンスに関連付けられているリソースが解放されているかどうかを示すフラグを返します。

      戻り値:
      true リソースが解放されている場合。
      導入:
      2.1
    • release

      public abstract void release()

      この FacesContext インスタンスに関連付けられたすべてのリソースを解放します。Faces の実装では、関連する FacesContextFactory のインスタンスをプールして、オブジェクトの作成とガベージコレクションが繰り返されないようにすることができます。FacesContext インスタンスで release() が呼び出された後(FacesContext インスタンスが再利用のために実装によってリサイクルされるまで)、他のメソッドを呼び出すと IllegalStateException がスローされます。

      このリクエストの処理中に getAttributes() が呼び出された場合、実装は getAttributes() から返された Map で clear() を呼び出し、その Map の背後にあるデータ構造の割り当てを解除する必要があります。

      実装は、null を渡して setCurrentInstance(jakarta.faces.context.FacesContext) を呼び出し、このスレッドとこの無効な FacesContext インスタンス間の関連付けを削除する必要があります。

      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • renderResponse

      public abstract void renderResponse()

      リクエスト処理ライフサイクルの現在のフェーズが完了するとすぐに、制御がレンダリングレスポンスフェーズに渡され、まだ実行されていないフェーズをバイパスする必要があることを Jakarta Faces 実装に通知します。

      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • isPostback

      public boolean isPostback()

      このユーティリティメソッドは、単に ResponseStateManager.isPostback(FacesContext) の結果を返します。

      デフォルトの実装は UnsupportedOperationException をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。

      戻り値:
      このリクエストが投稿リクエストかどうかを示すブール値。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      導入:
      2.0
    • responseComplete

      public abstract void responseComplete()

      このリクエストの HTTP レスポンスがすでに生成されていること(HTTP リダイレクトなど)と、現在のフェーズが完了したらすぐにリクエスト処理ライフサイクルを終了する必要があることを Jakarta Faces 実装に通知します。

      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • validationFailed

      public void validationFailed()

      入力の処理中に変換または検証エラーが発生したことを示すフラグを設定します。入力は、ページパラメーターまたはフォームバインディングのいずれかで構成されます。このフラグは isValidationFailed() を使用して読み取ることができます。

      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
    • getCurrentPhaseId

      public PhaseId getCurrentPhaseId()

      setCurrentPhaseId(jakarta.faces.event.PhaseId) が呼び出されたときに、この FacesContext インスタンスに最後に設定された値を返します。

      戻り値:
      現在のフェーズ ID。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      導入:
      2.0
    • setCurrentPhaseId

      public void setCurrentPhaseId(PhaseId currentPhaseId)

      実装は、リクエスト処理ライフサイクルの新しいフェーズに入った後、できるだけ早い時点でこのメソッドを呼び出す必要があります。

      パラメーター:
      currentPhaseId - 現在のフェーズの PhaseId
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      導入:
      2.0
    • setProcessingEvents

      public void setProcessingEvents(boolean processingEvents)

      Application.publishEvent(FacesContext, Class, Object) または Application.publishEvent(FacesContext, Class, Class, Object) が呼び出されたときにランタイムがイベントをパブリッシュするかどうかの制御を許可します。

      パラメーター:
      processingEvents - イベントを処理する必要があるかどうかを示すフラグ
    • isProcessingEvents

      public boolean isProcessingEvents()

      ランタイムがイベントをパブリッシュする必要があるかどうかを示すフラグを返します。

      戻り値:
      イベントを公開する必要がある場合は true、それ以外の場合は false
    • isProjectStage

      public boolean isProjectStage(ProjectStage stage)

      Application インスタンスによって返された現在の ProjectStage が stage と等しい場合は true を返し、それ以外の場合は false を返します

      パラメーター:
      stage - チェックする ProjectStage
      戻り値:
      アプリケーションに同じステージがあるかどうかを示すブール。
      例外:
      IllegalStateExceptionSE - このインスタンスが解放された後にこのメソッドが呼び出された場合
      NullPointerExceptionSE - stage が null の場合
    • getCurrentInstance

      public static FacesContext getCurrentInstance()

      現在のスレッドによって処理されているリクエストの FacesContext インスタンスを返します。アプリケーションの初期化中またはシャットダウン中に呼び出される場合、「アプリケーションの起動中またはシャットダウン中にこのメソッドを呼び出すことが有効」と記載されているメソッドは、アプリケーションの起動中またはシャットダウン中にサポートされる必要があります。この指定のないアプリケーションの起動時またはシャットダウン時にメソッドを呼び出した結果は未定義です。

      戻り値:
      FacesContext のインスタンス。
    • setCurrentInstance

      protected static void setCurrentInstance(FacesContext context)

      現在のスレッドによって処理されているリクエストの FacesContext インスタンスを設定します。

      パラメーター:
      context - 現在のスレッドの FacesContext インスタンス、またはこのスレッドに FacesContext インスタンスがなくなった場合は null