クラス UIViewRoot
- java.lang.ObjectSE
-
- jakarta.faces.component.UIComponent
-
- jakarta.faces.component.UIComponentBase
-
- jakarta.faces.component.UIViewRoot
- 実装されたすべてのインターフェース:
PartialStateHolder
、StateHolder
、TransientStateHolder
、UniqueIdVendor
、ComponentSystemEventListener
、FacesListener
、SystemEventListenerHolder
、EventListenerSE
public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
UIViewRoot は、UIComponent ツリーのルートを表す UIComponent です。このコンポーネントは、Ajax リクエストへのレスポンスとしてマークアップをレンダリングします。また、コンポーネントツリーのルートとしても機能し、ビューごとの
PhaseListener
をハングアップする場所としても機能します。次のライフサイクルフェーズメソッドのそれぞれについて:
RenderResponse、
encodeBegin(jakarta.faces.context.FacesContext)
およびencodeEnd(jakarta.faces.context.FacesContext)
経由
PhaseListener
に関して次のアクションを実行します。状態フラグを
false
に初期化します。getBeforePhaseListener()
が非 null
を返す場合は、リスナーを呼び出して、このフェーズに対応する正しいPhaseId
を渡します。リスナーから戻ったら、
FacesContext.getResponseComplete()
およびFacesContext.getRenderResponse()
を呼び出します。いずれかがtrue
を返す場合は、内部状態フラグをtrue
に設定します。addPhaseListener(jakarta.faces.event.PhaseListener)
の呼び出しによって 1 つ以上のリスナーが追加された場合は、PhaseListener.getPhaseId()
が現在の phaseId と一致する各リスナーに対してbeforePhase
メソッドを呼び出し、前の手順と同じPhaseId
を渡します。各リスナーから戻ったら、
FacesContext.getResponseComplete()
とFacesContext.getRenderResponse()
を呼び出します。いずれかがtrue
を返す場合は、内部状態フラグをtrue
に設定します。内部状態フラグが設定されていない場合は、このフェーズの処理を実行します。
getAfterPhaseListener()
が非 null
を返す場合は、リスナーを呼び出して、このフェーズに対応する正しいPhaseId
を渡します。addPhaseListener(jakarta.faces.event.PhaseListener)
の呼び出しによって 1 つ以上のリスナーが追加された場合は、PhaseListener.getPhaseId()
が現在の phaseId と一致する各リスナーに対してafterPhase
メソッドを呼び出し、前の手順と同じPhaseId
を渡します。
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 static StringSE
COMPONENT_FAMILY
このコンポーネントの標準コンポーネントファミリ。static StringSE
COMPONENT_TYPE
このコンポーネントの標準コンポーネント型。static StringSE
METADATA_FACET_NAME
ビュールートのメタデータを含むファセットコレクション内のキー。static StringSE
UNIQUE_ID_PREFIX
createUniqueId()
メソッドによって生成される識別子に使用されるプレフィックス。static StringSE
VIEW_PARAMETERS_KEY
ビューメタデータ BeanDescriptor の値セットのキー。その値はList<
UIViewParameter.Reference
> です。static StringSE
VIEWROOT_PHASE_LISTENER_QUEUES_EXCEPTIONS_PARAM_NAME
このパラメーターが設定されていて、その値の文字列表現で toLowerCase().equals("true" )を呼び出すと true が返される場合、UIViewRoot
にインストールされたPhaseListener
によってスローされた例外は、ログに記録されて飲み込まれるのではなく、ExceptionHandler
のキューに入れられます。クラス jakarta.faces.component.UIComponent から継承されたフィールド
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, FACETS_KEY, VIEW_LOCATION_KEY
コンストラクターのサマリー
コンストラクター コンストラクター 説明 UIViewRoot()
デフォルトのプロパティ値で新しいUIViewRoot
インスタンスを作成します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 void
addComponentResource(FacesContext context, UIComponent componentResource)
リソースインスタンスを表すと想定される引数component
を、リソースとしてこのビューに追加します。void
addComponentResource(FacesContext context, UIComponent componentResource, StringSE target)
リソースインスタンスを表すと想定される引数component
を、リソースとしてこのビューに追加します。void
addPhaseListener(PhaseListener newPhaseListener)
void
broadcastEvents(FacesContext context, PhaseId phaseId)
キューに入れられたイベントをブロードキャストします。StringSE
createUniqueId()
コンポーネントの識別子を生成します。StringSE
createUniqueId(FacesContext context, StringSE seed)
コンポーネントの識別子を生成します。void
encodeBegin(FacesContext context)
デフォルトのUIComponentBase.encodeBegin(jakarta.faces.context.FacesContext)
動作をオーバーライドします。void
encodeChildren(FacesContext context)
PartialViewContext.isAjaxRequest()
がtrue
を返す場合は、PhaseId.RENDER_RESPONSE
を指定してPartialViewContext.processPartial(jakarta.faces.event.PhaseId)
を呼び出し、部分的なレンダリングを実行します。void
encodeEnd(FacesContext context)
MethodExpression
getAfterPhaseListener()
このビューがレンダリングされた後に呼び出されるMethodExpression
を返します。MethodExpression
getBeforePhaseListener()
このビューがレンダリングされる前に呼び出されるMethodExpression
を返します。ListSE<UIComponent>
getComponentResources(FacesContext context)
サポートされているすべてのターゲットのすべてのUIComponent
リソースの変更不可能な順序付けされたList
を返します。ListSE<UIComponent>
getComponentResources(FacesContext context, StringSE target)
Doctype
getDoctype()
このビューの Doctype を返します。StringSE
getFamily()
このコンポーネントが属するコンポーネントファミリの識別子を返します。LocaleSE
getLocale()
このビュー用に作成されているレスポンスのローカライズに使用するLocale
を返します。ListSE<PhaseListener>
getPhaseListeners()
このUIViewRoot
インスタンスにアタッチされているPhaseListener
インスタンスの変更不可能なリストを返します。StringSE
getRenderKitId()
このビューに関連付けられているRenderKit
のレンダーキット識別子を返します。boolean
getRendersChildren()
UIComponentBase.getRendersChildren()
を呼び出すPartialViewContext.isAjaxRequest()
がtrue
を返す場合、このメソッドはtrue
を返す必要があります。StringSE
getViewId()
このビューのビュー識別子を返します。ListSE<SystemEventListener>
getViewListenersForEventClass(ClassSE<? extends SystemEvent> systemEvent)
型eventClass
のイベントに関心のある、このUIComponent
インスタンスに登録されているSystemEventListener
インスタンスを返します。MapSE<StringSE,ObjectSE>
getViewMap()
この実装は、true
を引数として渡してgetViewMap(boolean)
を呼び出すだけで、結果を返します。MapSE<StringSE,ObjectSE>
getViewMap(boolean create)
「ビュースコープ」であるデータストアへのインターフェースとして機能するMap
を返します。または、このインスタンスにそのようなMap
がなく、create
引数がtrue
の場合は、Map
を作成して返します。boolean
isInView()
UIViewRoot
は常にビュー内にあるように定義されているため、スーパークラスメソッドをオーバーライドして常にtrue
を返します。void
processApplication(FacesContext context)
リクエスト処理ライフサイクルのアプリケーションの呼び出しフェーズでキューに入れられたイベントをブロードキャストし、このフェーズのイベント処理によってFacesContext.renderResponse()
またはFacesContext.responseComplete()
が呼び出された場合は、後のフェーズのイベントをすべてクリアします。void
processDecodes(FacesContext context)
void
processEvent(ComponentSystemEvent event)
引数event
がPostRestoreStateEvent
のインスタンスであり、PartialViewContext.isPartialRequest()
がtrue
を返す場合、すべてのコンポーネントリソースをループし、それぞれに対してResourceHandler.markResourceRendered(FacesContext, String, String)
を呼び出します。void
processRestoreState(FacesContext context, ObjectSE state)
デフォルトの実装はtry
ブロック内からUIComponentBase.processRestoreState(jakarta.faces.context.FacesContext, java.lang.Object)
を呼び出す必要があります。void
processUpdates(FacesContext context)
void
processValidators(FacesContext context)
void
queueEvent(FacesEvent event)
デフォルトのUIComponentBase.queueEvent(jakarta.faces.event.FacesEvent)
動作をオーバーライドして、後でブロードキャストするためにキューに入れられたイベントを累積します。void
removeComponentResource(FacesContext context, UIComponent componentResource)
このビューのリソースとして、リソースインスタンスを表すと想定されている引数component
を削除します。void
removeComponentResource(FacesContext context, UIComponent componentResource, StringSE target)
このビューのリソースとして、リソースインスタンスを表すと想定されている引数component
を削除します。void
removePhaseListener(PhaseListener toRemove)
引数toRemove
がこのインスタンスのPhaseListener
のリストにある場合は、削除する必要があります。void
resetValues(FacesContext context, CollectionSE<StringSE> clientIds)
clientIds にアクセスし、コンポーネントがEditableValueHolder
のインスタンスである場合は、そのEditableValueHolder.resetValue()
メソッドを呼び出します。void
restoreState(FacesContext context, ObjectSE state)
state オブジェクトのエントリから状態を復元するために必要な処理を実行します。void
restoreViewScopeState(FacesContext context, ObjectSE state)
ViewScope 状態を復元します。ObjectSE
saveState(FacesContext context)
インスタンスの状態をSerializable
オブジェクトとして取得します。void
setAfterPhaseListener(MethodExpression newAfterPhase)
UIViewRoot がライフサイクルを実行するときに、"afterPhase" イベントに対して任意のメソッドを呼び出すことを許可します。void
setBeforePhaseListener(MethodExpression newBeforePhase)
UIViewRoot がライフサイクルを実行するときに、"beforePhase" イベントに対して任意のメソッドを呼び出すことを許可します。void
setDoctype(Doctype doctype)
このビューの Doctype を設定します。void
setInView(boolean isInView)
アクションを実行しないようにオーバーライドされます。void
setLocale(LocaleSE locale)
このビューに対して作成されているレスポンスのローカライズに使用するLocale
を設定します。void
setRenderKitId(StringSE renderKitId)
このビューに関連付けられているRenderKit
のレンダーキット識別子を設定します。void
setViewId(StringSE viewId)
このビューのビュー識別子を設定します。void
subscribeToViewEvent(ClassSE<? extends SystemEvent> systemEvent, SystemEventListener listener)
引数listener
によって参照されるリスナーインスタンスを、型systemEventClass
のイベントのリスナーとしてUIViewRoot
にインストールします。void
unsubscribeFromViewEvent(ClassSE<? extends SystemEvent> systemEvent, SystemEventListener listener)
型systemEventClass
のイベントのリスナーとして、引数listener
によって参照されるリスナーインスタンスをUIViewRoot
から削除します。クラス jakarta.faces.component.UIComponentBase から継承されたメソッド
addClientBehavior, addFacesListener, broadcast, clearInitialState, decode, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, invokeOnComponent, isRendered, isTransient, markInitialState, processSaveState, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, subscribeToEvent, unsubscribeFromEvent
クラス jakarta.faces.component.UIComponent から継承されたメソッド
encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isVisitable, popComponentFromEL, pushComponentToEL, restoreTransientState, saveTransientState, setValueExpression, visitTree
フィールドの詳細
METADATA_FACET_NAME
public static final StringSE METADATA_FACET_NAME
ビュールートのメタデータを含むファセットコレクション内のキー。例:UIViewParameter
はここに格納されます。- 関連事項:
- 定数フィールド値
VIEW_PARAMETERS_KEY
public static final StringSE VIEW_PARAMETERS_KEY
ビューメタデータ BeanDescriptor の値セットのキー。その値は
List<
UIViewParameter.Reference
> です。- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
COMPONENT_FAMILY
public static final StringSE COMPONENT_FAMILY
このコンポーネントの標準コンポーネントファミリ。
- 関連事項:
- 定数フィールド値
VIEWROOT_PHASE_LISTENER_QUEUES_EXCEPTIONS_PARAM_NAME
public static final StringSE VIEWROOT_PHASE_LISTENER_QUEUES_EXCEPTIONS_PARAM_NAME
このパラメーターが設定されていて、その値の文字列表現で toLowerCase().equals("true" )を呼び出すと true が返される場合、
UIViewRoot
にインストールされたPhaseListener
によってスローされた例外は、ログに記録されて飲み込まれるのではなく、ExceptionHandler
のキューに入れられます。- 導入:
- 2.3
- 関連事項:
- 定数フィールド値
コンストラクターの詳細
UIViewRoot
public UIViewRoot()
デフォルトのプロパティ値で新しい
UIViewRoot
インスタンスを作成します。
メソッドの詳細
isInView
public boolean isInView()
UIViewRoot
は常にビュー内にあるように定義されているため、スーパークラスメソッドをオーバーライドして常にtrue
を返します。- オーバーライド:
- クラス
UIComponent
のisInView
- 戻り値:
- ビュー階層内の場合は
true
、それ以外の場合はfalse
。 - 導入:
- 2.0
setInView
public void setInView(boolean isInView)
アクションを実行しないようにオーバーライドされます。
- オーバーライド:
- クラス
UIComponent
のsetInView
- パラメーター:
isInView
- 値を無視します。- 導入:
- 2.0
getFamily
public StringSE getFamily()
クラスからコピーされた説明:UIComponent
このコンポーネントが属するコンポーネントファミリの識別子を返します。この識別子は、
rendererType
プロパティの値と組み合わせて、このコンポーネントインスタンスに適切なRenderer
を選択するために使用できます。このメソッドはnull
を返すべきではないことに注意してください- 次で指定:
- クラス
UIComponent
のgetFamily
- 戻り値:
- コンポーネントファミリ(null 以外)。
- 関連事項:
UIComponent.getFamily()
getRenderKitId
public StringSE getRenderKitId()
このビューに関連付けられている
RenderKit
のレンダーキット識別子を返します。ViewHandler.createView(jakarta.faces.context.FacesContext, java.lang.String)
のように明示的に設定されていない限り、戻り値はnull.
になります。- 戻り値:
- レンダーキット ID、または
null
。
setRenderKitId
public void setRenderKitId(StringSE renderKitId)
このビューに関連付けられている
RenderKit
のレンダーキット識別子を設定します。このメソッドは、リクエスト処理ライフサイクルの「リクエスト値の適用」フェーズの終了(つまり、イベントがブロードキャストされているとき)から「レスポンスのレンダリング」フェーズの開始までの任意の時点で呼び出すことができます。
getViewId
public StringSE getViewId()
このビューのビュー識別子を返します。
- 戻り値:
- ビュー ID。
setViewId
public void setViewId(StringSE viewId)
このビューのビュー識別子を設定します。
- パラメーター:
viewId
- 新しいビュー識別子
getDoctype
public Doctype getDoctype()
このビューの Doctype を返します。
- 戻り値:
- このビューの Doctype。
- 導入:
- 4.0
setDoctype
public void setDoctype(Doctype doctype)
このビューの Doctype を設定します。
- パラメーター:
doctype
- ドキュメント型。- 導入:
- 4.0
getBeforePhaseListener
public MethodExpression getBeforePhaseListener()
このビューがレンダリングされる前に呼び出される
MethodExpression
を返します。- 戻り値:
- このビューがレンダリングされる前に呼び出される
MethodExpression
。 - 導入:
- 1.2
setBeforePhaseListener
public void setBeforePhaseListener(MethodExpression newBeforePhase)
UIViewRoot がライフサイクルを実行するときに、"beforePhase" イベントに対して任意のメソッドを呼び出すことができます。このメソッドは、
PhaseId.RESTORE_VIEW
を除くすべてのフェーズで呼び出されます。実際のPhaseListener
とは異なり、このアプローチでは、特定のフェーズに対してのみPhaseEvent
を受信することはできません。メソッドは、
PhaseListener.beforePhase(jakarta.faces.event.PhaseEvent)
の署名に準拠している必要があります。- パラメーター:
newBeforePhase
- このビューがレンダリングされる前に呼び出されるMethodExpression
。- 導入:
- 1.2
getAfterPhaseListener
public MethodExpression getAfterPhaseListener()
このビューがレンダリングされた後に呼び出される
MethodExpression
を返します。- 戻り値:
- このビューがレンダリングされた後に呼び出される
MethodExpression
。 - 導入:
- 1.2
setAfterPhaseListener
public void setAfterPhaseListener(MethodExpression newAfterPhase)
UIViewRoot がライフサイクルを実行するときに、"afterPhase" イベントに対して任意のメソッドを呼び出すことができます。このメソッドは、
PhaseId.RESTORE_VIEW
を含むすべてのフェーズに対して呼び出されます。実際のPhaseListener
とは異なり、このアプローチでは、特定のフェーズに対してのみPhaseEvent
を受信することはできません。メソッドは、
PhaseListener.afterPhase(jakarta.faces.event.PhaseEvent)
の署名に準拠している必要があります。- パラメーター:
newAfterPhase
- このビューがレンダリングされた後に呼び出されるMethodExpression
。- 導入:
- 1.2
removePhaseListener
public void removePhaseListener(PhaseListener toRemove)
引数
toRemove
がこのインスタンスのPhaseListener
のリストにある場合は、削除する必要があります。- パラメーター:
toRemove
- 削除するPhaseListener
。- 導入:
- 1.2
addPhaseListener
public void addPhaseListener(PhaseListener newPhaseListener)
引数
newPhaseListener
をこのUIViewRoot
のPhaseListener
のリストに追加します。- パラメーター:
newPhaseListener
- 追加するPhaseListener
- 導入:
- 1.2
getPhaseListeners
public ListSE<PhaseListener> getPhaseListeners()
この
UIViewRoot
インスタンスにアタッチされているPhaseListener
インスタンスの変更不可能なリストを返します。- 戻り値:
- フェーズリスナーのリスト。
- 導入:
- 2.0
addComponentResource
public void addComponentResource(FacesContext context, UIComponent componentResource)
このビューのリソースとして、リソースインスタンスを表すと想定される引数
component
を追加します。リソースインスタンスは、標準 HTML RenderKit に従って、リソースRenderer
によってレンダリングされます。デフォルトの実装では、addComponentResource(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent, java.lang.String)
を呼び出す必要があります。- パラメーター:
context
- 現在のリクエストのFacesContext
componentResource
-Resource
インスタンスを表すUIComponent
- 導入:
- 2.0
addComponentResource
public void addComponentResource(FacesContext context, UIComponent componentResource, StringSE target)
このビューのリソースとして、リソースインスタンスを表すと想定される引数
component
を追加します。リソースインスタンスは、標準 HTML RenderKit に従って、リソースRenderer
によってレンダリングされます。component
は、次のアルゴリズムを使用して追加する必要があります。target
引数がnull
の場合、component
でtarget
属性を探します。target
属性がない場合は、target
をデフォルト値head
に設定します。getComponentResources(jakarta.faces.context.FacesContext, java.lang.String)
を呼び出して、指定されたターゲットの子リストを取得します。componentResource
のコンポーネント ID が、すでに追加されているリソースの ID と一致する場合は、古いリソースを削除します。component
リソースをリストに追加します。
リソース
Renderer
は、次のことを確認する必要があります。ResourceHandler.isResourceRendered(FacesContext, String, String)
がtrue
を返す場合はレンダリングしないでください。- レンダリング後、
ResourceHandler.markResourceRendered(FacesContext, String, String)
を呼び出します。
- パラメーター:
context
- 現在のリクエストのFacesContext
componentResource
-Resource
インスタンスを表すUIComponent
target
-UIComponent
が追加されるファセットの名前- 導入:
- 2.0
getComponentResources
public ListSE<UIComponent> getComponentResources(FacesContext context, StringSE target)
提供された
target
アグリメントのUIComponent
の変更不可能なList
を返します。List
の各component
は、リソースインスタンスを表すと見なされます。デフォルトの実装では、次と同等のアルゴリズムを使用する必要があります。
target
を引数として使用してgetFacet()
を呼び出すことにより、component
のファセットを見つけます。- ファセットが見つからない場合は、
context.getApplication().createComponent().
を呼び出してファセットを作成します。このメソッドの引数は、UIPanel
を継承し、encodeAll()
メソッドをオーバーライドしてアクションを実行しないコンポーネントを参照する必要があります。これは、コンポーネントリソースが誤ってレンダリングされるのを防ぐために必要です。- ファセットの
id
を、リテラル文字列 "jakarta_faces_location_
" (引用符なし)をtarget
引数の値の前に付加して作成された文字列に設定します。 target
をキーとして使用して、ファセットMap
にファセットを追加します
- ファセットの
- ファセットの子を返します
- パラメーター:
context
- Faces コンテキスト。target
- コンポーネントが返されるファセットの名前。- 戻り値:
target
という名前のファセットのUIComponent
子のList
。ファセットの子が見つからない場合は、Collections.emptyList()
を返します。- 例外:
NullPointerExceptionSE
-target
またはcontext
がnull
の場合- 導入:
- 2.0
getComponentResources
public ListSE<UIComponent> getComponentResources(FacesContext context)
サポートされているすべてのターゲットのすべての
UIComponent
リソースの変更不可能な順序付きList
を返します。List
の各component
は、リソースインスタンスを表すと見なされます。順序は、リソースがコンポーネントツリーに表示されるのと同じです。- パラメーター:
context
- Faces コンテキスト。- 戻り値:
- サポートされているすべてのターゲットのすべての
UIComponent
リソースのList
。リソースが見つからない場合は、空のList
を返します。 - 例外:
NullPointerExceptionSE
-context
がnull
の場合。- 導入:
- 2.3
removeComponentResource
public void removeComponentResource(FacesContext context, UIComponent componentResource)
このビューのリソースとして、リソースインスタンスを表すと想定されている引数
component
を削除します。- パラメーター:
context
- 現在のリクエストのFacesContext
componentResource
-Resource
インスタンスを表すUIComponent
- 導入:
- 2.0
removeComponentResource
public void removeComponentResource(FacesContext context, UIComponent componentResource, StringSE target)
このビューのリソースとして、リソースインスタンスを表すと想定される引数
component
を削除します。リソースインスタンスは、標準 HTML RenderKit に従って、リソースRenderer
によってレンダリングされます。component
は、次のアルゴリズムを使用して削除する必要があります。target
引数がnull
の場合、component
でtarget
属性を探します。
target
属性がない場合は、target
をデフォルト値head
に設定します。getComponentResources(jakarta.faces.context.FacesContext, java.lang.String)
を呼び出して、指定されたターゲットの子リストを取得します。- 子リストから
component
リソースを削除します。
- パラメーター:
context
- 現在のリクエストのFacesContext
componentResource
-Resource
インスタンスを表すUIComponent
target
-UIComponent
が追加されるファセットの名前- 導入:
- 2.0
queueEvent
public void queueEvent(FacesEvent event)
デフォルトの
UIComponentBase.queueEvent(jakarta.faces.event.FacesEvent)
動作をオーバーライドして、後でブロードキャストするためにキューに入れられたイベントを累積します。- オーバーライド:
- クラス
UIComponentBase
のqueueEvent
- パラメーター:
event
- キューに入れられるFacesEvent
- 例外:
IllegalStateExceptionSE
- このコンポーネントがUIViewRoot
の子孫でない場合NullPointerExceptionSE
-event
がnull
の場合
broadcastEvents
public void broadcastEvents(FacesContext context, PhaseId phaseId)
キューに入れられたイベントをブロードキャストします。
PhaseId.ANY_PHASE
のキューに入れられた最初のブロードキャストイベント。次に、現在のフェーズでキューに入れられたイベントをブロードキャストします。どちらの場合も、例外の場合でも、イベントがブロードキャストされる前にUIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出す必要があり、ブロードキャストから戻った後にUIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出す必要があります。- パラメーター:
context
- 現在のリクエストのFacesContext
phaseId
- 現在のフェーズのPhaseId
- 導入:
- 2.0
processRestoreState
public void processRestoreState(FacesContext context, ObjectSE state)
デフォルトの実装は
try
ブロック内からUIComponentBase.processRestoreState(jakarta.faces.context.FacesContext, java.lang.Object)
を呼び出す必要があります。try
ブロックには、FacesEvent
がイベントキューに残らないようにするfinally
ブロックが必要です。- オーバーライド:
- クラス
UIComponentBase
のprocessRestoreState
- パラメーター:
context
- この requets のFacesContext
state
-StateManager
から取得した不透明状態オブジェクト
processEvent
public void processEvent(ComponentSystemEvent event) throws AbortProcessingException
引数
event
がPostRestoreStateEvent
のインスタンスであり、PartialViewContext.isPartialRequest()
がtrue
を返す場合、すべてのコンポーネントリソースをループし、それぞれに対してResourceHandler.markResourceRendered(FacesContext, String, String)
を呼び出します。最後に、スーパーに委譲します。- 次で指定:
- インターフェース
ComponentSystemEventListener
のprocessEvent
- オーバーライド:
- クラス
UIComponent
のprocessEvent
- パラメーター:
event
- 処理中のComponentSystemEvent
インスタンス。- 例外:
AbortProcessingException
- このリクエストでライフサイクル処理を停止するかどうか。
processDecodes
public void processDecodes(FacesContext context)
次の場合は、
PhaseId.APPLY_REQUEST_VALUES
でPartialViewContext.processPartial(jakarta.faces.event.PhaseId)
を呼び出して、部分処理を実行します。PartialViewContext.isPartialRequest()
はtrue
を返しますが、ビュー内のすべてのコンポーネントを処理するリクエストはありません。(PartialViewContext.isExecuteAll()
はfalse
を返します)
UIComponentBase.processDecodes(jakarta.faces.context.FacesContext)
を呼び出して完全な処理を実行します。PartialViewContext.isPartialRequest()
はtrue
を返し、ビュー内のすべてのコンポーネントを処理するようにリクエストされています (PartialViewContext.isExecuteAll()
はtrue
を返します)PartialViewContext.isPartialRequest()
はfalse
を返します
デフォルトの
UIComponentBase.processDecodes(jakarta.faces.context.FacesContext)
動作をオーバーライドして、デフォルトの処理または部分的な処理が完了した後にキューに入れられたイベントをブロードキャストし、このフェーズのイベント処理によってFacesContext.renderResponse()
またはFacesContext.responseComplete()
が呼び出された場合は、後のフェーズのイベントをクリアします。- オーバーライド:
- クラス
UIComponentBase
のprocessDecodes
- パラメーター:
context
-FacesContext
(処理中のリクエスト)- 例外:
NullPointerExceptionSE
-context
がnull
の場合
resetValues
public void resetValues(FacesContext context, CollectionSE<StringSE> clientIds)
clientIds にアクセスし、コンポーネントが
EditableValueHolder
のインスタンスである場合は、そのEditableValueHolder.resetValue()
メソッドを呼び出します。アクセスにはUIComponent.visitTree(jakarta.faces.component.visit.VisitContext, jakarta.faces.component.visit.VisitCallback)
を使用します。- パラメーター:
context
- 処理中のリクエストのFacesContext
。clientIds
- 説明されているアクションが実行される、訪問されるクライアント ID。- 導入:
- 2.2
encodeBegin
public void encodeBegin(FacesContext context) throws IOExceptionSE
デフォルトの
UIComponentBase.encodeBegin(jakarta.faces.context.FacesContext)
の動作をオーバーライドします。getBeforePhaseListener()
がnull
以外を返す場合は、それを呼び出して、PhaseId.RENDER_RESPONSE
フェーズのPhaseEvent
を渡します。addPhaseListener(jakarta.faces.event.PhaseListener)
の呼び出しによって生成された内部リストが空でない場合は、そのリスト内のすべてのリスナーのPhaseListener.beforePhase(jakarta.faces.event.PhaseEvent)
メソッドを呼び出して、PhaseEvent
を渡す必要があります。beforePhase リスナーの呼び出し中に発生したException
はすべて、VIEWROOT_PHASE_LISTENER_QUEUES_EXCEPTIONS_PARAM_NAME
パラメーターが設定されていない限り、ログに記録して取り込む必要があります。その場合は、Exception
もExceptionHandler
に渡す必要があります。- オーバーライド:
- クラス
UIComponentBase
のencodeBegin
- パラメーター:
context
-FacesContext
は作成中のレスポンス- 例外:
IOExceptionSE
- レンダリング中に入出力エラーが発生した場合
encodeChildren
public void encodeChildren(FacesContext context) throws IOExceptionSE
PartialViewContext.isAjaxRequest()
がtrue
を返す場合は、PhaseId.RENDER_RESPONSE
を指定してPartialViewContext.processPartial(jakarta.faces.event.PhaseId)
を呼び出して部分レンダリングを実行します。PartialViewContext.isAjaxRequest()
がfalse
を返す場合は、親UIComponentBase.encodeChildren(jakarta.faces.context.FacesContext)
メソッドに委譲します。この
UIViewRoot
がNamingContainer
のインスタンスである場合、Jakarta Faces 実装は、UIComponent.getClientId(FacesContext)
の規則に従って、エンコードされたすべての POST リクエストパラメーター名の前にUIComponent.getContainerClientId(FacesContext)
が付いていることを確認する必要があります。これには、以下にリストされているすべての事前定義された POST リクエストパラメーターも含まれます。ResponseStateManager.VIEW_STATE_PARAM
ResponseStateManager.CLIENT_WINDOW_PARAM
ResponseStateManager.RENDER_KIT_ID_PARAM
ClientBehaviorContext.BEHAVIOR_SOURCE_PARAM_NAME
ClientBehaviorContext.BEHAVIOR_EVENT_PARAM_NAME
PartialViewContext.PARTIAL_EVENT_PARAM_NAME
PartialViewContext.PARTIAL_EXECUTE_PARAM_NAME
PartialViewContext.PARTIAL_RENDER_PARAM_NAME
PartialViewContext.RESET_VALUES_PARAM_NAME
- オーバーライド:
- クラス
UIComponentBase
のencodeChildren
- パラメーター:
context
-FacesContext
は作成中のレスポンス- 例外:
IOExceptionSE
- レンダリング中に入出力エラーが発生した場合- 導入:
- 2.0
encodeEnd
public void encodeEnd(FacesContext context) throws IOExceptionSE
getAfterPhaseListener()
が非 null
を返す場合は、それを呼び出し、PhaseId.RENDER_RESPONSE
フェーズのPhaseEvent
を渡します。afterPhase リスナーの呼び出し中に発生するすべてのException
は、VIEWROOT_PHASE_LISTENER_QUEUES_EXCEPTIONS_PARAM_NAME
パラメーターが設定されていない限り、ログに記録して取り込む必要があります。その場合、Exception
もExceptionHandler
に渡す必要があります。現在のビューにビューパラメーターがある場合 (空でなく、UnsupportedOperationException
をスローする非ViewDeclarationLanguage.getViewMetadata(jakarta.faces.context.FacesContext, String)
の戻り値によって示される)、各パラメーターでUIViewParameter.encodeAll(jakarta.faces.context.FacesContext)
を呼び出します。getViewParameters()
の呼び出しによってUnsupportedOperationException
がスローされる場合は、例外を暗黙的に取り込む必要があります。- オーバーライド:
- クラス
UIComponentBase
のencodeEnd
- パラメーター:
context
-FacesContext
は作成中のレスポンス- 例外:
IOExceptionSE
- レンダリング中に入出力エラーが発生した場合
getRendersChildren
public boolean getRendersChildren()
UIComponentBase.getRendersChildren()
を呼び出すPartialViewContext.isAjaxRequest()
がtrue
を返す場合、このメソッドはtrue
を返す必要があります。- オーバーライド:
- クラス
UIComponentBase
のgetRendersChildren
- 戻り値:
- コンポーネントが子をレンダリングする場合は
true
、それ以外の場合はfalse
。 - 導入:
- 2.0
processValidators
public void processValidators(FacesContext context)
次の場合は、
PhaseId.PROCESS_VALIDATIONS
でPartialViewContext.processPartial(jakarta.faces.event.PhaseId)
を呼び出して、部分処理を実行します。PartialViewContext.isPartialRequest()
はtrue
を返しますが、ビュー内のすべてのコンポーネントを処理するリクエストはありません。(PartialViewContext.isExecuteAll()
はfalse
を返します)
UIComponentBase.processValidators(jakarta.faces.context.FacesContext)
を呼び出して完全な処理を実行します。PartialViewContext.isPartialRequest()
はtrue
を返し、ビュー内のすべてのコンポーネントを処理するようにリクエストされています (PartialViewContext.isExecuteAll()
はtrue
を返します)PartialViewContext.isPartialRequest()
はfalse
を返します
デフォルトの
UIComponentBase.processValidators(jakarta.faces.context.FacesContext)
動作をオーバーライドして、デフォルトの処理または部分的な処理が完了した後にキューに入れられたイベントをブロードキャストし、このフェーズのイベント処理によってFacesContext.renderResponse()
またはFacesContext.responseComplete()
が呼び出された場合は、後のフェーズのイベントをクリアします。- オーバーライド:
- クラス
UIComponentBase
のprocessValidators
- パラメーター:
context
-FacesContext
(処理中のリクエスト)- 例外:
NullPointerExceptionSE
-context
がnull
の場合- 関連事項:
PreValidateEvent
,PostValidateEvent
processUpdates
public void processUpdates(FacesContext context)
次の場合は、
PhaseId.UPDATE_MODEL_VALUES
でPartialViewContext.processPartial(jakarta.faces.event.PhaseId)
を呼び出して、部分処理を実行します。PartialViewContext.isPartialRequest()
はtrue
を返しますが、ビュー内のすべてのコンポーネントを処理するリクエストはありません。(PartialViewContext.isExecuteAll()
はfalse
を返します)
UIComponentBase.processUpdates(jakarta.faces.context.FacesContext)
を呼び出して完全な処理を実行します。PartialViewContext.isPartialRequest()
はtrue
を返し、ビュー内のすべてのコンポーネントを処理するようにリクエストされています (PartialViewContext.isExecuteAll()
はtrue
を返します)PartialViewContext.isPartialRequest()
はfalse
を返します
デフォルトの
UIComponentBase
動作をオーバーライドして、デフォルトの処理または部分的な処理が完了した後にキューに入れられたイベントをブロードキャストし、このフェーズのイベント処理によってFacesContext.renderResponse()
またはFacesContext.responseComplete()
が呼び出された場合は、後のフェーズのイベントをクリアします。- オーバーライド:
- クラス
UIComponentBase
のprocessUpdates
- パラメーター:
context
-FacesContext
(処理中のリクエスト)- 例外:
NullPointerExceptionSE
-context
がnull
の場合
processApplication
public void processApplication(FacesContext context)
リクエスト処理ライフサイクルのアプリケーションの呼び出しフェーズでキューに入れられたイベントをブロードキャストし、このフェーズのイベント処理によって
FacesContext.renderResponse()
またはFacesContext.responseComplete()
が呼び出された場合は、後のフェーズのイベントをすべてクリアします。- パラメーター:
context
-FacesContext
(処理中のリクエスト)- 例外:
NullPointerExceptionSE
-context
がnull
の場合
createUniqueId
public StringSE createUniqueId()
コンポーネントの識別子を生成します。識別子には接頭辞 UNIQUE_ID_PREFIX が付けられ、 この UIViewRoot の非
NamingContainer
子サブツリー内で一意になります。- 戻り値:
- 識別子。
createUniqueId
public StringSE createUniqueId(FacesContext context, StringSE seed)
コンポーネントの識別子を生成します。識別子には接頭辞 UNIQUE_ID_PREFIX が付けられ、この UIViewRoot 内で一意になります。オプションで、一意のシード値をコンポーネント作成者が提供できます。これは、生成された一意の ID に含める必要があります。
- 次で指定:
- インターフェース
UniqueIdVendor
のcreateUniqueId
- パラメーター:
context
- FacesContextseed
- オプションのシード値 - 例 VDL テンプレート内のコンポーネントの位置に基づく- 戻り値:
- このコンポーネントコンテナーの一意の ID
getLocale
public LocaleSE getLocale()
このビュー用に作成されているレスポンスのローカライズに使用する
Locale
を返します。アルゴリズム:
locale
ivar がある場合は、それを返します。「ロケール」の値式がある場合は、その値を取得します。値がnull
の場合、ViewHandler.calculateLocale(jakarta.faces.context.FacesContext)
を呼び出した結果を返します。値がjava.util.Locale
のインスタンスである場合は、それを返します。値が文字列の場合は、java.util.Locale
に変換して返します。"locale" の値式がない場合は、ViewHandler.calculateLocale(jakarta.faces.context.FacesContext)
を呼び出した結果を返します。- 戻り値:
- 上記のアルゴリズムを実行して取得した現在の
Locale
。
setLocale
public void setLocale(LocaleSE locale)
このビューに対して作成されているレスポンスのローカライズに使用する
Locale
を設定します。- パラメーター:
locale
- 新しいローカライゼーションロケール
getViewMap
public MapSE<StringSE,ObjectSE> getViewMap()
この実装は、
true
を引数として渡してgetViewMap(boolean)
を呼び出すだけで、結果を返します。- 戻り値:
- ビューマップ、または
null
。 - 導入:
- 2.0
getViewMap
public MapSE<StringSE,ObjectSE> getViewMap(boolean create)
「ビュースコープ」であるデータストアへのインターフェースとして機能する
Map
を返します。または、このインスタンスにそのようなMap
がなく、create
引数がtrue
の場合は、Map
を作成して返します。このマップは、遅延してインスタンス化され、このUIViewRoot
インスタンスでこのメソッドへの後続の呼び出しから返されるようにキャッシュされる必要があります。Application.publishEvent(jakarta.faces.context.FacesContext, java.lang.Class<? extends jakarta.faces.event.SystemEvent>, java.lang.Object)
を呼び出す必要があり、現在のFacesContext
を最初の引数として、PostConstructViewMapEvent
.class
を 2 番目の引数として、UIViewRoot.class
を 3 番目の引数として、このUIViewRoot
インスタンスを 4 番目の引数として渡します。UIViewRoot
がカスタムクラスで拡張された場合を考慮して、UIViewRoot.class
引数を渡す必要があります。返された
Map
は、Map
でclear()
を呼び出すと、Application.publishEvent(jakarta.faces.context.FacesContext, java.lang.Class<? extends jakarta.faces.event.SystemEvent>, java.lang.Object)
が呼び出され、PreDestroyViewMapEvent
.class
が最初の引数として渡され、このUIViewRoot
インスタンスが 2 番目の引数として渡されるように実装する必要があります。アプリケーションの構成によっては、ビューマップに保存されるオブジェクトは
Serializable
である必要がある場合があります。一般に、ビューマップに格納されているオブジェクトがSerializable
であることを確認することをお勧めします。ViewScoped
で明らかにされた理由により、このマップは最終的にセッションに保存する必要があります。このため、create
引数のtrue
値は、ExternalContext.getSession(boolean)
の呼び出しでセッションを強制的に作成します。clear()
メソッドを呼び出す必要がある場合の仕様については、FacesContext.setViewRoot(jakarta.faces.component.UIViewRoot)
を参照してください。- パラメーター:
create
- 必要に応じて、このインスタンスの新しいMap
を作成するtrue
。現在のMap
がない場合にnull
を返すfalse
。- 戻り値:
- ビューマップ、または
null
。 - 導入:
- 2.0
subscribeToViewEvent
public void subscribeToViewEvent(ClassSE<? extends SystemEvent> systemEvent, SystemEventListener listener)
引数
listener
によって参照されるリスナーインスタンスを、型systemEventClass
のイベントのリスナーとしてUIViewRoot
にインストールします。インストールされたリスナーは、
UIViewRoot
の状態の一部として維持されないことに注意してください。- パラメーター:
systemEvent
-listener
を発生させる必要があるイベントのClass
listener
- 型systemEventClass
のイベントが発生したときにSystemEventListener.processEvent(jakarta.faces.event.SystemEvent)
メソッドを呼び出す必要があるSystemEventListener
の実装。- 例外:
NullPointerExceptionSE
-systemEventClass
またはlistener
がnull
の場合。- 導入:
- 2.0
unsubscribeFromViewEvent
public void unsubscribeFromViewEvent(ClassSE<? extends SystemEvent> systemEvent, SystemEventListener listener)
型
systemEventClass
のイベントのリスナーとして、引数listener
によって参照されるリスナーインスタンスをUIViewRoot
から削除します。- パラメーター:
systemEvent
-listener
を発生させる必要があるイベントのClass
listener
- 型systemEventClass
のイベントが発生したときにSystemEventListener.processEvent(jakarta.faces.event.SystemEvent)
メソッドを呼び出す必要があるSystemEventListener
の実装。- 例外:
NullPointerExceptionSE
-systemEventClass
またはlistener
がnull
の場合。- 導入:
- 2.0
getViewListenersForEventClass
public ListSE<SystemEventListener> getViewListenersForEventClass(ClassSE<? extends SystemEvent> systemEvent)
型
eventClass
のイベントに関心のある、このUIComponent
インスタンスに登録されているSystemEventListener
インスタンスを返します。- パラメーター:
systemEvent
- リスナーを返す必要があるイベントのClass
- 戻り値:
- ビューリスナーのコレクション。
- 例外:
NullPointerExceptionSE
- 引数systemEvent
がnull
の場合。- 導入:
- 2.0
restoreViewScopeState
public void restoreViewScopeState(FacesContext context, ObjectSE state)
ViewScope 状態を復元します。これは、コンポーネントツリーの構築元のテンプレートで EL 式にビュースコープの Bean を使用できるようにするために必要です。例:
<ui:include src="#{viewScopedBean.includeFileName}"/>
。- パラメーター:
context
- 現在の FacesContext。state
- 状態オブジェクト。
saveState
public ObjectSE saveState(FacesContext context)
インターフェースからコピーされた説明:StateHolder
インスタンスの状態を
Serializable
オブジェクトとして取得します。このインターフェースを実装するクラスが、StateHolder を実装するインスタンス(イベントハンドラー、バリデーターなどを含む
UIComponent
など)への参照を持っている場合、このメソッドはそれらすべてのインスタンスでStateHolder.saveState(jakarta.faces.context.FacesContext)
メソッドも呼び出す必要があります。このメソッドは、子とファセットの状態を保存してはなりませんそれはStateManager
を介して行われますこのメソッドは、実装オブジェクトの状態を変更してはなりません。つまり、このコードを実行した後:
Object state = component.saveState(facesContext);
component
は、実行前と同じでなければなりません。このメソッドからの戻り値は
Serializable
でなければなりません- 次で指定:
- インターフェース
StateHolder
のsaveState
- オーバーライド:
- クラス
UIComponentBase
のsaveState
- パラメーター:
context
- Faces コンテキスト。- 戻り値:
- 保存された状態。
restoreState
public void restoreState(FacesContext context, ObjectSE state)
インターフェースからコピーされた説明:StateHolder
state オブジェクトのエントリから状態を復元するために必要な処理を実行します。
このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた
UIComponent
など)、このメソッドはそれらすべてのインスタンスでStateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object)
メソッドも呼び出す必要があります。state
引数がnull
の場合、アクションを実行せずに戻ります。- 次で指定:
- インターフェース
StateHolder
のrestoreState
- オーバーライド:
- クラス
UIComponentBase
のrestoreState
- パラメーター:
context
- Faces コンテキスト。state
- 状態。