クラス UIComponentBase
- java.lang.ObjectSE
-
- jakarta.faces.component.UIComponent
-
- jakarta.faces.component.UIComponentBase
- 実装されているすべてのインターフェース:
PartialStateHolder、StateHolder、TransientStateHolder、ComponentSystemEventListener、FacesListener、SystemEventListenerHolder、EventListenerSE
- 既知の直属サブクラス
UIColumn、UICommand、UIData、UIForm、UIGraphic、UIImportConstants、UIMessage、UIMessages、UINamingContainer、UIOutput、UIPanel、UIParameter、UISelectItem、UISelectItems、UIViewAction、UIViewRoot、UIWebsocket
public abstract class UIComponentBase extends UIComponent
UIComponentBase は、
UIComponentによって定義されたすべてのメソッドのデフォルトの具体的な動作を実装する便利な基本クラスです。デフォルトでは、このクラスは
getRendersChildren()を定義して、このコンポーネントのレンダラーを見つけ、そのgetRendersChildren()メソッドを呼び出します。Rendererのデフォルト実装はfalseを返します。Jakarta Faces Specification のバージョン 1.2 以降、コンポーネントの作成者は、このメソッドからtrueを返し、このクラスとレンダラー(Renderer.encodeChildren(jakarta.faces.context.FacesContext, T))のencodeChildren(jakarta.faces.context.FacesContext)の実装に依存することをお勧めします。子のレンダリングを管理するサブクラスは、このメソッドをオーバーライドして、代わりにtrueを返す必要があります。
フィールドのサマリー
クラス jakarta.faces.component.UIComponent から継承されたフィールド
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, FACETS_KEY, VIEW_LOCATION_KEY
コンストラクターの概要
コンストラクター コンストラクター 説明 UIComponentBase()デフォルトのコンストラクターで、記述子マップを設定します。
方法の概要
すべてのメソッド 静的メソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 voidaddClientBehavior(StringSE eventName, ClientBehavior behavior)protected voidaddFacesListener(FacesListener listener)指定されたFacesListenerを、このUIComponentからイベント通知を受信するために登録されたリスナーのセットに追加します。voidbroadcast(FacesEvent event)指定されたFacesEventを、この型のイベントに関心を示しているすべての登録済みイベントリスナーにブロードキャストします。voidclearInitialState()PartialStateHolderを実装するこのインスタンス上の添付オブジェクトごとに、添付オブジェクトでPartialStateHolder.clearInitialState()を呼び出します。voiddecode(FacesContext context)指定されたFacesContextに含まれるリクエストからこのUIComponentの新しい状態をデコードし、必要に応じてこの状態を保存します。voidencodeBegin(FacesContext context)voidencodeChildren(FacesContext context)voidencodeEnd(FacesContext context)UIComponentfindComponent(StringSE expression)MapSE<StringSE,ObjectSE>getAttributes()このUIComponentに関連付けられた属性(およびプロパティ、以下を参照)を表す変更可能なMapを返します。属性名(文字列である必要があります)をキーにします。intgetChildCount()このUIComponentに関連付けられている子UIComponentの数を返します。ListSE<UIComponent>getChildren()MapSE<StringSE,ListSE<ClientBehavior>>getClientBehaviors()これはClientBehaviorHolder.getClientBehaviors()のデフォルトの実装です。StringSEgetClientId(FacesContext context)このコンポーネントのクライアント側識別子を返し、必要に応じて生成します。StringSEgetDefaultEventName()これはClientBehaviorHolder.getDefaultEventName()のデフォルトの実装です。CollectionSE<StringSE>getEventNames()これはClientBehaviorHolder.getEventNames()のデフォルトの実装です。protected FacesContextgetFacesContext()現在のリクエストのFacesContextインスタンスを返す便利なメソッド。protected FacesListener[]getFacesListeners(ClassSE clazz)指定されたクラスのインスタンスである登録済みFacesListenerの配列を返します。UIComponentgetFacet(StringSE name)名前付きファセットが存在する場合はそれを返すコンビニエンスメソッド、そうでない場合はnullintgetFacetCount()このUIComponentに関連付けられているファセットUIComponentの数を返します。MapSE<StringSE,UIComponent>getFacets()IteratorSE<UIComponent>getFacetsAndChildren()StringSEgetId()このUIComponentのコンポーネント識別子を返します。ListSE<SystemEventListener>getListenersForEventClass(ClassSE<? extends SystemEvent> eventClass)型eventClassのイベントに関心のある、このUIComponentインスタンスに登録されているSystemEventListenerインスタンスを返します。UIComponentgetParent()このUIComponentの親UIComponentを返します(存在する場合)。MapSE<StringSE,ObjectSE>getPassThroughAttributes(boolean create)このメソッドの仕様はUIComponent.getPassThroughAttributes()と同じですが、引数createがfalseであり、このインスタンスにパススルー属性データ構造が存在しない場合にのみ、nullを返すことができます。protected RenderergetRenderer(FacesContext context)このコンポーネントに関連付けられているRendererインスタンスがあれば、それを返す簡易メソッド。それ以外の場合は、nullを返します。StringSEgetRendererType()このUIComponentのRenderer型を返します(存在する場合)。booleangetRendersChildren()このコンポーネントが子コンポーネントのレンダリングを担当するかどうかを示すフラグを返します。booleaninvokeOnComponent(FacesContext context, StringSE clientId, ContextCallback callback)ビュー階層のこのコンポーネントから開始して、引数clientIdと等しいclientIdを持つコンポーネントを検索し、見つかった場合は、引数callbackでContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)メソッドを呼び出し、現在のFacesContextと見つかったコンポーネントを引数として渡します。booleanisRendered()このコンポーネント(およびその子)をリクエスト処理ライフサイクルのレスポンスのレンダリングフェーズでレンダリングする必要がある場合は、trueを返します。booleanisTransient()true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。voidmarkInitialState()PartialStateHolderを実装するこのインスタンス上の添付オブジェクトごとに、添付オブジェクトでPartialStateHolder.markInitialState()を呼び出します。voidprocessDecodes(FacesContext context)次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのリクエスト値の適用フェーズで必要なコンポーネントツリー処理を実行します。voidprocessRestoreState(FacesContext context, ObjectSE state)次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのビューの復元フェーズで必要なコンポーネントツリー処理を実行します。ObjectSEprocessSaveState(FacesContext context)次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのレンダリングレスポンスフェーズの状態保存部分で必要なコンポーネントツリー処理を実行します。voidprocessUpdates(FacesContext context)次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのモデル値の更新フェーズで必要なコンポーネントツリー処理を実行します。voidprocessValidators(FacesContext context)次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのプロセス検証フェーズで必要なコンポーネントツリー処理を実行します。voidqueueEvent(FacesEvent event)現在のリクエスト処理ライフサイクルフェーズの最後で、ブロードキャストするイベントをキューに入れます。protected voidremoveFacesListener(FacesListener listener)このUIComponentからイベント通知を受信するために登録されたリスナーのセットから、指定されたFacesListenerを削除します。static ObjectSErestoreAttachedState(FacesContext context, ObjectSE stateObj)このメソッドは、saveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)を使用して保存したオブジェクトを復元する必要があるUIComponentサブクラスによって呼び出されます。voidrestoreState(FacesContext context, ObjectSE state)state オブジェクトのエントリから状態を復元するために必要な処理を実行します。static ObjectSEsaveAttachedState(FacesContext context, ObjectSE attachedObject)このメソッドは、1 つまたは複数のアタッチされたオブジェクトを保存するUIComponentサブクラスによって呼び出されます。ObjectSEsaveState(FacesContext context)インスタンスの状態をSerializableオブジェクトとして取得します。voidsetId(StringSE id)このUIComponentのコンポーネント ID(存在する場合)を設定します。voidsetParent(UIComponent parent)このUIComponentの親UIComponentを設定します。voidsetRendered(boolean rendered)このUIComponentのrenderedプロパティを設定します。voidsetRendererType(StringSE rendererType)voidsetTransient(boolean transientFlag)このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。voidsubscribeToEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)引数componentListenerによって参照されるリスナーインスタンスを、このUIComponentの特定のインスタンスから発生するeventClass型のイベントのリスナーとしてインストールします。voidunsubscribeFromEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)引数componentListenerによって参照されるリスナーインスタンスを、このUIComponentの特定のインスタンスから発生する型eventClassのイベントのリスナーとして削除します。クラス jakarta.faces.component.UIComponent から継承されたメソッド
encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getFamily, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression, visitTree
メソッドの詳細
getAttributes
public MapSE<StringSE,ObjectSE> getAttributes()
クラスからコピーされた説明:UIComponentこの
UIComponentに関連付けられた属性(およびプロパティ、以下を参照)を表す可変のMapを返します。属性名(文字列でなければなりません)をキーとします。返される実装は、すべての標準およびオプションのMapメソッドをサポートする必要があり、さらに次の追加要件もサポートする必要があります。Map実装はjava.io.Serializableインターフェースを実装する必要があります。nullキーまたは値を追加しようとすると、NullPointerExceptionがスローされます。- 文字列ではないキーを追加しようとすると、
ClassCastExceptionがスローされます。 - キーとして指定された属性名がこの
UIComponentの実装クラスのプロパティと一致する場合、次のメソッドは特別な動作をします:containsKey-falseを返します。get()- プロパティが読み取り可能な場合は、getter メソッドを呼び出して、戻り値を返します(対応するラッパークラスでプリミティブ値をラップします)。それ以外の場合はIllegalArgumentExceptionをスローします。put()- プロパティが書き込み可能な場合は、setter メソッドを呼び出して対応する値を設定します(対応するラッパークラスでプリミティブ値をアンラップします)。プロパティが書き込み可能でない場合、またはプリミティブ型のプロパティをnullに設定しようとした場合は、IllegalArgumentExceptionをスローします。remove-IllegalArgumentExceptionをスローします。
- 次で指定:
- クラス
UIComponentのgetAttributes - 戻り値:
- コンポーネント属性マップ。
getPassThroughAttributes
public MapSE<StringSE,ObjectSE> getPassThroughAttributes(boolean create)
クラスからコピーされた説明:UIComponentこのメソッドの仕様は
UIComponent.getPassThroughAttributes()と同じですが、引数createがfalseであり、このインスタンスにパススルー属性データ構造が存在しない場合に限り、nullを返すことができます。返されるMap実装は、すべての標準およびオプションのMapメソッドをサポートし、さらに次の追加要件をサポートする必要があります。マップはUIComponent.getStateHelper()を使用して格納する必要があります。Map実装はjava.io.Serializableを実装する必要があります。nullキーまたは値を追加しようとすると、NullPointerExceptionがスローされます。Stringではないキーを追加しようとすると、IllegalArgumentExceptionがスローされます。このクラスから直接拡張するコンポーネントとの下位互換性のために、空のマップを返すデフォルトの実装が提供されています。
- オーバーライド:
- クラス
UIComponentのgetPassThroughAttributes - パラメーター:
create-trueの場合、新しいMapインスタンスがまだ存在していなければ作成されます。falseで、既存のMapインスタンスがない場合、インスタンスは作成されず、nullが返されます。- 戻り値:
Mapインスタンス、またはnull。
getClientId
public StringSE getClientId(FacesContext context)
クラスからコピーされた説明:UIComponentこのコンポーネントのクライアント側識別子を返します。必要に応じて生成します。関連付けられている
Rendererがある場合は、clientId をクライアントへの送信に適した形式に変換するように要求されます。このメソッドからの戻り値は、コンポーネントの
idプロパティが変更された場合、またはコンポーネントがクライアント ID が変更されるNamingContainer(たとえば、UIData) に配置されない限り、インスタンスの存続期間中は同じ値である必要があります。ただし、これらの場合でも、このメソッドへの連続した呼び出しは常に同じ値を返す必要があります。実装では、clientId を決定する際に次の手順に従う必要があります。ビュー階層内で、
NamingContainerを実装するこのコンポーネントに最も近い祖先を検索します。そのコンポーネントでgetContainerClientId()を呼び出し、結果をparentIdローカル変数として保存します。このコンポーネントでUIComponent.getId()を呼び出し、結果をmyIdローカル変数として保存します。myIdがnullの場合は、context.getViewRoot().createUniqueId()を呼び出して結果を myId に割り当てます。parentIdがnull以外の場合は、myIdをparentId +UINamingContainer.getSeparatorChar(jakarta.faces.context.FacesContext)+ myId と等しくします。Renderer.convertClientId(jakarta.faces.context.FacesContext, java.lang.String)を呼び出し、myIdを渡して結果を返します。- 次で指定:
- クラス
UIComponentのgetClientId - パラメーター:
context- 現在のリクエストのFacesContext- 戻り値:
- クライアント ID。
- 例外:
NullPointerExceptionSE-contextがnullの場合
getId
public StringSE getId()
クラスからコピーされた説明:UIComponentこの
UIComponentのコンポーネント識別子を返します。- 次で指定:
- クラス
UIComponentのgetId - 戻り値:
- コンポーネント識別子。
setId
public void setId(StringSE id)
クラスからコピーされた説明:UIComponentこの
UIComponentのコンポーネント ID(存在する場合)を設定します。コンポーネント識別子は、次の構文制限に従う必要があります。- 長さがゼロの文字列であってはなりません。
- 最初の文字は文字またはアンダースコア('_' )でなければなりません。
- 後続の文字は、文字、数字、アンダースコア('_' )、ダッシュ('-')でなければなりません。
コンポーネント識別子は、次のセマンティック制限にも従う必要があります(この制限は
setId()実装によって強制されないことに注意してください)。- 指定された識別子は、
NamingContainerである最も近い祖先UIComponentの子孫であるすべてのコンポーネント(ファセットを含む)間で一意であるか、NamingContainerであるそのような祖先がない場合はコンポーネントツリー全体のスコープ内で一意である必要があります。
- 次で指定:
- クラス
UIComponentのsetId - パラメーター:
id- 新しいコンポーネント識別子、またはこのUIComponentにコンポーネント識別子がないことを示すnull- 例外:
IllegalArgumentExceptionSE-idが構文的に有効でない場合IllegalStateExceptionSE
getParent
public UIComponent getParent()
クラスからコピーされた説明:UIComponentこの
UIComponentの親UIComponentがあれば、それを返します。子コンポーネントがgetParent( )から null を返す場合でも、コンポーネントは、子コンポーネントをこのコンポーネントの子のリストに追加および削除できるようにする必要があります。- 次で指定:
- クラス
UIComponentのgetParent - 戻り値:
- 親コンポーネント。
setParent
public void setParent(UIComponent parent)
クラスからコピーされた説明:UIComponentこの
UIComponentの親UIComponentを設定します。parent.isInView()がtrueを返す場合、このメソッドを呼び出すと、まずこのノードに対してPreRemoveFromViewEventが発行され、次にこのノードの子が発行されます。次に、再親化が行われると、PostAddToViewEventもパブリッシュされます。最初にこのノードに対して、次にノードの子に対して行われますが、次の条件のいずれかが true の場合のみです。FacesContext.getCurrentPhaseId()はPhaseId.RESTORE_VIEWを返し、部分的な状態の保存が有効になります。FacesContext.isPostback()はfalseを返し、FacesContext.getCurrentPhaseId()はPhaseId.RESTORE_VIEW以外のものを返します
このメソッドは、開発者が決して呼び出さないでください。
UIComponentの内部実装は、親の子ListまたはファセットMapにコンポーネントが追加または削除されると、それを呼び出します。- 次で指定:
- クラス
UIComponentのsetParent - パラメーター:
parent- 新しい親、またはコンポーネントツリーのルートノードのnull
isRendered
public boolean isRendered()
クラスからコピーされた説明:UIComponentこのコンポーネント(およびその子)をリクエスト処理ライフサイクルのレスポンスのレンダリングフェーズでレンダリングする必要がある場合は、
trueを返します。- 次で指定:
- クラス
UIComponentのisRendered - 戻り値:
- コンポーネントをレンダリングする必要がある場合は
true、それ以外の場合はfalse。
setRendered
public void setRendered(boolean rendered)
クラスからコピーされた説明:UIComponentこの
UIComponentのrenderedプロパティを設定します。- 次で指定:
- クラス
UIComponentのsetRendered - パラメーター:
rendered-trueがこのコンポーネントをレンダリングする場合。それ以外の場合は、このコンポーネントをレンダリングしないでください
getRendererType
public StringSE getRendererType()
クラスからコピーされた説明:UIComponentこの
UIComponentのRenderer型を返します(存在する場合)。- 次で指定:
- クラス
UIComponentのgetRendererType - 戻り値:
- レンダラーの型。
setRendererType
public void setRendererType(StringSE rendererType)
クラスからコピーされた説明:UIComponentこの
UIComponentのRenderer型、またはそれ自体をレンダリングするコンポーネントのnullを設定します。- 次で指定:
- クラス
UIComponentのsetRendererType - パラメーター:
rendererType- 使用するRendererの型の論理識別子、またはそれ自体をレンダリングするコンポーネントのnull
getRendersChildren
public boolean getRendersChildren()
クラスからコピーされた説明:UIComponentこのコンポーネントが子コンポーネントのレンダリングを担当するかどうかを示すフラグを返します。
getRendersChildren()のデフォルト実装は、このコンポーネントのレンダラーを見つけようとします。存在する場合は、Renderer.getRendersChildren()を呼び出して結果を返します。そうでない場合は、false を返します。Jakarta Faces Specification のバージョン 1.2 以降、コンポーネントの作成者は、このメソッドからtrueを返し、encodeChildren(jakarta.faces.context.FacesContext)に依存することをお勧めします。- 次で指定:
- クラス
UIComponentのgetRendersChildren - 戻り値:
- コンポーネントが子をレンダリングする場合は
true、それ以外の場合はfalse。
getChildren
public ListSE<UIComponent> getChildren()
クラスからコピーされた説明:UIComponentこのコンポーネントに関連付けられた子
UIComponentを表す変更可能なListを返します。返される実装は、すべての標準およびオプションのListメソッドをサポートする必要があり、さらに次の追加要件もサポートする必要があります。List実装はjava.io.Serializableインターフェースを実装する必要があります。nullを追加しようとすると、NullPointerException をスローする必要がありますUIComponentを実装していないオブジェクトを追加しようとすると、ClassCastException がスローされます。- 新しい子コンポーネントを追加するときは常に、子の
parentプロパティをこのコンポーネントインスタンスに設定する必要があります。子のparentプロパティがすでに null でない場合、子は最初に前の親から削除する必要があります(子またはファセットのいずれかである可能性があります)。 - 既存の子コンポーネントが削除される場合は常に、子の
parentプロパティをnullに設定する必要があります。 子コンポーネントがビューに追加された後、
Application.publishEvent(jakarta.faces.context.FacesContext, java.lang.Class<? extends jakarta.faces.event.SystemEvent>, java.lang.Object)を呼び出して、PostAddToViewEvent.classを最初の引数として渡し、新しく追加されたコンポーネントを 2 番目の引数として渡します。FacesContext.getCurrentPhaseId()はPhaseId.RESTORE_VIEWを返し、部分的な状態の保存が有効になります。FacesContext.isPostback()はfalseを返し、FacesContext.getCurrentPhaseId()はPhaseId.RESTORE_VIEW以外のものを返します
- 次で指定:
- クラス
UIComponentのgetChildren - 戻り値:
- 子供のリスト。
getChildCount
public int getChildCount()
クラスからコピーされた説明:UIComponentこの
UIComponentに関連付けられている子UIComponentの数を返します。子がない場合、このメソッドは 0 を返す必要があります。このメソッドが子コンポーネントリストの作成を引き起こしてはなりません。- 次で指定:
- クラス
UIComponentのgetChildCount - 戻り値:
- 子コンポーネントの数。
findComponent
public UIComponent findComponent(StringSE expression)
クラスからコピーされた説明:UIComponent以下に説明するアルゴリズムに従って、指定された検索式(存在する場合)に一致する
idでUIComponentを検索して返します。WARNING: 見つかった
UIComponentインスタンスがあれば、そのツリー走査コンテキストに関係なく返されます。コンポーネントから Jakarta Expression 言語にバインドされた属性を取得することは安全ではありません。Jakarta Expression Language 式には、#{component}などの暗黙的なオブジェクトを含めることができます。これらのオブジェクトは、ツリートラバースコンテキストのスコープ内で評価されることを前提としています。ツリートラバーサルコンテキストの外でこれらの種類の暗黙的なオブジェクトを使用して式を評価すると、未定義の結果が生成されます。見つかったUIComponentインスタンスを操作するときにツリートラバーサルコンテキストを正しく説明するメソッドについて は、UIComponent.invokeOnComponent(jakarta.faces.context.FacesContext, java.lang.String, jakarta.faces.component.ContextCallback)を参照してください。UIComponent.invokeOnComponent(jakarta.faces.context.FacesContext, java.lang.String, jakarta.faces.component.ContextCallback)は、単純なclientIdが与えられたコンポーネントを見つけるのにも役立ちます。コンポーネント識別子は、このコンポーネント(このコンポーネント自体の可能性があります)を囲む最も近い祖先
NamingContainerのスコープ内で一意である必要があります。このコンポーネントの祖先にNamingContainerコンポーネントがない場合、ツリーのルートコンポーネントは、そのクラスが実際にNamingContainerインターフェースを実装しているかどうかに関係なく、NamingContainerであるかのように扱われます。検索式は、識別子(
UIComponentのidプロパティと完全に一致するか、UINamingContainer.getSeparatorChar(jakarta.faces.context.FacesContext)文字値によってリンクされた一連のそのような識別子のいずれかで構成されます。検索アルゴリズムは次のように動作するはずですが、代替のアルゴリズムを長く使用することもできます。最終結果は同じなので:- 次のいずれかの条件が満たされるとすぐに停止して、検索のベースとなる
UIComponentを特定します。- 検索式が区切り文字で始まる場合(「絶対」検索式と呼ばれます)、ベースはコンポーネントツリーのルート
UIComponentになります。先頭の区切り文字は削除され、検索式の残りの部分は、以下で説明する「相対」検索式として扱われます。 - それ以外の場合、この
UIComponentがNamingContainerである場合は、それがベースとして機能します。 - それ以外の場合は、このコンポーネントの親を検索します。
NamingContainerが検出された場合は、それがベースになります。 - それ以外の場合(
NamingContainerが検出されない場合)、ルートUIComponentがベースになります。
- 検索式が区切り文字で始まる場合(「絶対」検索式と呼ばれます)、ベースはコンポーネントツリーのルート
- 検索式(前のステップで変更された可能性があります)は、「相対」検索式になり、ベースコンポーネントのスコープ内で一致する
idを持つコンポーネント(存在する場合)を検索するために使用されます。照合は次のように実行されます。- 検索式が単純な識別子の場合、この値は
idプロパティと比較され、次にベースUIComponentのファセットと子を再帰的に調べます(子孫NamingContainerが見つかった場合、そのファセットと子は検索されません)。 - 検索式に区切り文字で区切られた複数の識別子が含まれている場合、最初の識別子を使用して、前の箇条書きの規則に従って
NamingContainerを見つけます。次に、このNamingContainerのfindComponent()メソッドが呼び出され、検索式の残りの部分が渡されます。
- 検索式が単純な識別子の場合、この値は
- 次で指定:
- クラス
UIComponentのfindComponent - パラメーター:
expression- 返されるUIComponentを識別する検索式- 戻り値:
- 見つかった
UIComponent、またはコンポーネントが見つからなかった場合はnull - 例外:
NullPointerExceptionSE-exprがnullの場合
- 次のいずれかの条件が満たされるとすぐに停止して、検索のベースとなる
invokeOnComponent
public boolean invokeOnComponent(FacesContext context, StringSE clientId, ContextCallback callback) throws FacesException
ビュー階層のこのコンポーネントから開始して、引数
clientIdと等しいclientIdを持つコンポーネントを検索し、見つかった場合は、引数callbackでContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)メソッドを呼び出し、現在のFacesContextと見つかったコンポーネントを引数として渡します。このメソッドはUIComponent.findComponent(java.lang.String)に似ていますが、ビューのルートから検索するための主要なUINamingContainer.getSeparatorChar(jakarta.faces.context.FacesContext)構文をサポートしていません。デフォルトの実装では、最初に
this.getClientId()が引数clientIdと等しいかどうかをチェックします。その場合は、最初にUIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)を呼び出し、次に引数コールバックでContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)メソッドを呼び出して、FacesContext引数を渡し、これをコンポーネント引数として渡します。次にUIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)を呼び出します。コールバックによってExceptionがスローされた場合は、FacesExceptionでラップして、再度スローします。それ以外の場合は、trueを返します。それ以外の場合は、
UIComponent.getFacetsAndChildren()によって返される各コンポーネントについて、このメソッドに引数を順番に渡してinvokeOnComponent()を呼び出します。invokeOnComponent()が初めて true を返したときは、残りのIteratorのトラバースを中止し、trueを返します。ContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)を呼び出す場合、このメソッドの実装は、コールバックに渡されたコンポーネントの状態が、引数clientIdで見つかった状態に関するビュー階層内のコンポーネントの位置を正しく反映することを保証する必要があります。例:UIDataなどの反復コンポーネントは、正しい行に基づく適切な子コンポーネントを見つける前に、引数clientIdを正しく反映するように行インデックスを設定する必要があります。コールバックが戻るとき、通常またはExceptionをスローすることにより、このメソッドの実装は、ビューの状態をコールバックを呼び出す前の状態に復元する必要があります。UIComponent.getFacetsAndChildren()のどの要素もinvokeOnComponent()からtrueを返さなかった場合は、falseを返します。clientIdでコンポーネントを検索する簡単な使用例。private UIComponent found = null; private void doFind(FacesContext context, String clientId) { context.getViewRoot().invokeOnComponent(context, clientId, new ContextCallback() { public void invokeContextCallback(FacesContext context, UIComponent component) { found = component; } }); }- オーバーライド:
- クラス
UIComponentのinvokeOnComponent - パラメーター:
context- 現在のリクエストのFacesContextclientId- 引数コールバックに渡されるコンポーネントのクライアント識別子。callback- Callback インターフェースの実装。- 戻り値:
true指定されたclientIdを持つコンポーネントが見つかった場合、そのコンポーネントを引数として渡してコールバックメソッドが正常に呼び出され、例外はスローされませんでした。指定されたclientIdのコンポーネントが見つからない場合、falseを返します。- 例外:
NullPointerExceptionSE- いずれかの引数が null の場合FacesException- 引数 Callback が例外をスローすると、FacesExceptionにラップされて再スローされます。- 導入:
- 1.2
getFacets
public MapSE<StringSE,UIComponent> getFacets()
クラスからコピーされた説明:UIComponentこの
UIComponentに関連付けられたファセットUIComponentを表す変更可能なMapを返します。ファセット名(文字列である必要があります)をキーとします。返される実装は、すべての標準およびオプションのMapメソッドをサポートする必要があり、さらに次の追加要件もサポートする必要があります。Map実装はjava.io.Serializableインターフェースを実装する必要があります。nullキーまたは値を追加しようとすると、NullPointerException がスローされます。- 文字列ではないキーを追加しようとすると、ClassCastException がスローされます。
UIComponent以外の値を追加しようとすると、ClassCastException がスローされます。- 新しいファセット
UIComponentが追加されるたびに:- コンポーネントの
parentプロパティをこのコンポーネントインスタンスに設定する必要があります。 - コンポーネントの
parentプロパティがすでに null 以外の場合、コンポーネントは最初に前の親(子またはファセットのいずれかであった可能性がある)から削除する必要があります。
- コンポーネントの
- 既存のファセット
UIComponentが削除されるときはいつでも:- ファセットの
parentプロパティはnullに設定する必要があります。
- ファセットの
- 次で指定:
- クラス
UIComponentのgetFacets - 戻り値:
- ファセットのマップ。
getFacetCount
public int getFacetCount()
クラスからコピーされた説明:UIComponentこの
UIComponentに関連付けられているファセットUIComponentの数を返します。ファセットがない場合、このメソッドは 0 を返す必要があります。このメソッドにより、ファセットコンポーネントマップが作成されないようにする必要があります。UIComponent を直接拡張するクラスとの下位互換性のために、単に
UIComponent.getFacets()を呼び出し、次に返されたMapでsize()メソッドを呼び出すデフォルト実装が提供されています。このメソッドのより最適化されたバージョンがgetFacetCount()で提供されています。- オーバーライド:
- クラス
UIComponentのgetFacetCount - 戻り値:
- ファセットの数。
getFacet
public UIComponent getFacet(StringSE name)
クラスからコピーされた説明:UIComponent名前付きファセットが存在する場合はそれを返し、そうでない場合は
nullを返す簡易メソッド。リクエストされたファセットが存在しない場合は、ファセットマップを作成しないでください。- 次で指定:
- クラス
UIComponentのgetFacet - パラメーター:
name- 目的のファセットの名前- 戻り値:
- コンポーネント、または
null
getFacetsAndChildren
public IteratorSE<UIComponent> getFacetsAndChildren()
クラスからコピーされた説明:UIComponentこの
UIComponentの子UIComponentが後に続くファセットにIteratorを返します。ファセットは未定義の順序で返され、その後にすべての子が子リストに格納されている順序で返されます。このコンポーネントにファセットまたは子がない場合、空のIteratorが返されます。返される
Iteratorは、remove()操作をサポートしてはなりません。- 次で指定:
- クラス
UIComponentのgetFacetsAndChildren - 戻り値:
- ファセットと子イテレータ。
broadcast
public void broadcast(FacesEvent event) throws AbortProcessingException
クラスからコピーされた説明:UIComponent指定した
FacesEventを、この型のイベントに関心を示したすべての登録済みイベントリスナーにブロードキャストします。リスナーは、追加された順に呼び出されます。eventがBehaviorEventのインスタンスであり、現在のcomponentがeventのソースである場合、BehaviorEvent.getBehavior()を呼び出してイベントのBehaviorを取得します。BehaviorインスタンスでBehavior.broadcast(jakarta.faces.event.BehaviorEvent)を呼び出します。- 次で指定:
- クラス
UIComponentのbroadcast - パラメーター:
event- 放送されるFacesEvent- 例外:
AbortProcessingException- Jakarta Faces 実装に、現在のイベントでこれ以上の処理を実行しないことを通知しますIllegalStateExceptionSENullPointerExceptionSE-eventがnullの場合
decode
public void decode(FacesContext context)
クラスからコピーされた説明:UIComponent指定された
FacesContextに含まれるリクエストからこのUIComponentの新しい状態をデコードし、必要に応じてこの状態を保存します。デコード中、
queueEvent()を呼び出すことにより、(インタレストを登録したイベントリスナーによる)後の処理のためにイベントをキューに入れることができます。- 次で指定:
- クラス
UIComponentのdecode - パラメーター:
context-FacesContext(処理中のリクエスト)- 例外:
NullPointerExceptionSE-contextがnullの場合
encodeBegin
public void encodeBegin(FacesContext context) throws IOExceptionSE
クラスからコピーされた説明:UIComponentrenderedプロパティがtrueの場合、このUIComponentの現在の状態の開始を、指定されたFacesContextに含まれるレスポンスにレンダリングします。UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext,jakarta.faces.component.UIComponent)を呼び出します。Application.publishEvent(jakarta.faces.context.FacesContext, java.lang.Class<? extends jakarta.faces.event.SystemEvent>, java.lang.Object)を呼び出し、最初の引数としてPreRenderComponentEvent.classを渡し、2 番目の引数としてレンダリングされるコンポーネントインスタンスを渡します。RendererがこのUIComponentに関連付けられている場合、実際のエンコーディングはRenderer.encodeBegin(FacesContext, UIComponent)に委譲されます。renderedプロパティがfalseの場合、UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext,jakarta.faces.component.UIComponent)を呼び出してすぐに戻ります。- 次で指定:
- クラス
UIComponentのencodeBegin - パラメーター:
context-FacesContextは作成中のレスポンス- 例外:
NullPointerExceptionSE-contextがnullの場合IOExceptionSE- レンダリング中に入出力エラーが発生した場合
encodeChildren
public void encodeChildren(FacesContext context) throws IOExceptionSE
クラスからコピーされた説明:UIComponentrenderedプロパティがtrueの場合、このUIComponentの子UIComponentをレンダリングします。このメソッドは、rendersChildrenプロパティがtrueの場合にのみ呼び出されます。RendererがこのUIComponentに関連付けられている場合、実際のエンコーディングはRenderer.encodeChildren(FacesContext, UIComponent)に委譲されます。このUIComponentに関連付けられているRendererがない場合は、このコンポーネントの各子を反復処理し、UIComponent.encodeAll(jakarta.faces.context.FacesContext)を呼び出します。- 次で指定:
- クラス
UIComponentのencodeChildren - パラメーター:
context-FacesContextは作成中のレスポンス- 例外:
NullPointerExceptionSE-contextがnullの場合IOExceptionSE- レンダリング中に入出力エラーが発生した場合
encodeEnd
public void encodeEnd(FacesContext context) throws IOExceptionSE
クラスからコピーされた説明:UIComponentrenderedプロパティがtrueの場合、このUIComponentの現在の状態の終了をレンダリングします。RendererがこのUIComponentに関連付けられている場合、実際のエンコーディングはRenderer.encodeEnd(FacesContext, UIComponent)に委譲されます。UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)を呼び出します。renderedプロパティの値に関係なく戻る前。- 次で指定:
- クラス
UIComponentのencodeEnd - パラメーター:
context-FacesContextは作成中のレスポンス- 例外:
IOExceptionSE- レンダリング中に入出力エラーが発生した場合NullPointerExceptionSE-contextがnullの場合
addFacesListener
protected void addFacesListener(FacesListener listener)
指定された
FacesListenerを、このUIComponentからイベント通知を受信するために登録されたリスナーのセットに追加します。イベントソースとして機能するUIComponentクラスには、必要な型のリスナーを登録するための対応する型安全 API があり、それらの登録メソッドの実装はこのメソッドに委譲されることが予想されます。例:public class FooEvent extends FacesEvent { ... protected boolean isAppropriateListener(FacesListener listener) { return (listener instanceof FooListener); } protected void processListener(FacesListener listener) { ((FooListener) listener).processFoo(this); } ... } public interface FooListener extends FacesListener { public void processFoo(FooEvent event); } public class FooComponent extends UIComponentBase { ... public void addFooListener(FooListener listener) { addFacesListener(listener); } public void removeFooListener(FooListener listener) { removeFacesListener(listener); } ... }- 次で指定:
- クラス
UIComponentのaddFacesListener - パラメーター:
listener- 登録するFacesListener- 例外:
NullPointerExceptionSE-listenerがnullの場合
getFacesListeners
protected FacesListener[] getFacesListeners(ClassSE clazz)
クラスからコピーされた説明:UIComponent指定されたクラスのインスタンスである登録された
FacesListenerの配列を返します。そのような登録されたリスナーがない場合、長さ 0 の配列が返されます。返された配列は、要素型clazzに強く型付けされた配列に安全にキャストできます。- 次で指定:
- クラス
UIComponentのgetFacesListeners - パラメーター:
clazz- 返されるためにFacesListenerによって実装される必要があるクラス- 戻り値:
- Faces リスナー、または長さがゼロの配列。
- 例外:
IllegalArgumentExceptionSE-classがFacesListenerではなく、実装していない場合NullPointerExceptionSE-clazzがnullの場合
removeFacesListener
protected void removeFacesListener(FacesListener listener)
この
UIComponentからイベント通知を受信するために登録されたリスナーのセットから、指定されたFacesListenerを削除します。- 次で指定:
- クラス
UIComponentのremoveFacesListener - パラメーター:
listener- 登録解除するFacesListener- 例外:
NullPointerExceptionSE-listenerがnullの場合
queueEvent
public void queueEvent(FacesEvent event)
クラスからコピーされた説明:UIComponent現在のリクエスト処理ライフサイクルフェーズの最後に、ブロードキャストするイベントをキューに入れます。
UIComponentBaseのデフォルト実装では、この呼び出しを親UIComponentのqueueEvent()メソッドに委譲する必要があります。- 次で指定:
- クラス
UIComponentのqueueEvent - パラメーター:
event- キューに入れられるFacesEvent- 例外:
IllegalStateExceptionSE- このコンポーネントがUIViewRootの子孫でない場合NullPointerExceptionSE-eventがnullの場合
subscribeToEvent
public void subscribeToEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
引数
componentListenerによって参照されるリスナーインスタンスを、このUIComponentの特定のインスタンスから発生するeventClass型のイベントのリスナーとしてインストールします。デフォルトの実装では、引数componentListenerをlistener引数としてラップする内部SystemEventListenerインスタンスを作成します。この内部クラスは、SystemEventListener.processEvent(jakarta.faces.event.SystemEvent)の実装で引数componentListenerを介して呼び出す必要があり、このUIComponentのインスタンスクラスが引数からisListenerForSourceに割り当て可能である場合、SystemEventListener.isListenerForSource(java.lang.Object)の実装は true を返す必要があります。引数
componentListenerによって参照されるリスナーインスタンスは、UIComponentのこの特定のインスタンスから発生する型eventClassのイベントのリスナーとしてまだインストールされていない可能性があります。既存のリスナーが引数componentListenerと等しいかどうかを判断するために比較を行う場合、既存のリスナーのequals()メソッドを呼び出して、引数componentListenerを渡す必要があります。その逆ではありません。- オーバーライド:
- クラス
UIComponentのsubscribeToEvent - パラメーター:
eventClass-listenerを発生させる必要があるイベントのClasscomponentListener- 型facesEventClassのイベントが発生したときにComponentSystemEventListener.processEvent(jakarta.faces.event.ComponentSystemEvent)メソッドを呼び出す必要があるComponentSystemEventListenerの実装。- 例外:
NullPointerExceptionSE- 引数のいずれかがnullの場合。- 導入:
- 2.1
unsubscribeFromEvent
public void unsubscribeFromEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
引数
componentListenerによって参照されるリスナーインスタンスを、このUIComponentの特定のインスタンスから発生する型eventClassのイベントのリスナーとして削除します。既存のリスナーは引数componentListenerに等しい(従って、除去しなければならない)であるかどうかを決定するための比較を行うときに、既存のリスナーにequals()メソッドは、引数componentListenerではなく、他の方法で回避を渡す、呼び出されなければなりません。- オーバーライド:
- クラス
UIComponentのunsubscribeFromEvent - パラメーター:
eventClass-listenerを削除する必要があるイベントのClasscomponentListener- 型eventClassのイベントが発生したときにComponentSystemEventListener.processEvent(jakarta.faces.event.ComponentSystemEvent)メソッドを呼び出さないComponentSystemEventListenerの実装。- 例外:
NullPointerExceptionSE- 引数のいずれかがnullの場合。- 導入:
- 2.1
getListenersForEventClass
public ListSE<SystemEventListener> getListenersForEventClass(ClassSE<? extends SystemEvent> eventClass)
型
eventClassのイベントに関心のある、このUIComponentインスタンスに登録されているSystemEventListenerインスタンスを返します。- 次で指定:
- インターフェース
SystemEventListenerHolderのgetListenersForEventClass - オーバーライド:
- クラス
UIComponentのgetListenersForEventClass - パラメーター:
eventClass- リスナーを返す必要があるイベントのClass- 戻り値:
- リスナーのリスト。決して
nullではありません。 - 例外:
NullPointerExceptionSE- 引数eventClassがnullの場合。- 導入:
- 2.1
processDecodes
public void processDecodes(FacesContext context)
クラスからコピーされた説明:UIComponent次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのリクエスト値の適用フェーズで必要なコンポーネントツリー処理を実行します。
- この
UIComponentのrenderedプロパティがfalseの場合、以降の処理をスキップします。 UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)を呼び出します。- この
UIComponentのすべてのファセットと子のprocessDecodes()メソッドを、getFacetsAndChildren()への呼び出しによって決定された順序で呼び出します。 - このコンポーネントの
decode()メソッドを呼び出します。 finally block, just before returning.の内部からUIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)を呼び出す- デコード処理中に
RuntimeExceptionがスローされた場合は、FacesContext.renderResponse()を呼び出して例外を再スローします。
- 次で指定:
- クラス
UIComponentのprocessDecodes - パラメーター:
context-FacesContext(処理中のリクエスト)- 例外:
NullPointerExceptionSE-contextがnullの場合
- この
processValidators
public void processValidators(FacesContext context)
クラスからコピーされた説明:UIComponent次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのプロセス検証フェーズで必要なコンポーネントツリー処理を実行します。
- この
UIComponentのrenderedプロパティがfalseの場合、以降の処理をスキップします。 UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)を呼び出します。- この
UIComponentのすべてのファセットと子のprocessValidators()メソッドを、getFacetsAndChildren()への呼び出しによって決定された順序で呼び出します。 getFacetsAndChildren()の呼び出しから戻った後、UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)を呼び出します。
- 次で指定:
- クラス
UIComponentのprocessValidators - パラメーター:
context-FacesContext(処理中のリクエスト)- 例外:
NullPointerExceptionSE-contextがnullの場合- 関連事項:
PreValidateEvent,PostValidateEvent
- この
processUpdates
public void processUpdates(FacesContext context)
クラスからコピーされた説明:UIComponent次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのモデル値の更新フェーズで必要なコンポーネントツリー処理を実行します。
- この
UIComponentのrenderedプロパティがfalseの場合、以降の処理をスキップします。 UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)を呼び出します。- この
UIComponentのすべてのファセットと子のprocessUpdates()メソッドを、getFacetsAndChildren()への呼び出しによって決定された順序で呼び出します。子またはファセットのprocessUpdates()メソッドから戻った後、UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)を呼び出します。
- 次で指定:
- クラス
UIComponentのprocessUpdates - パラメーター:
context-FacesContext(処理中のリクエスト)- 例外:
NullPointerExceptionSE-contextがnullの場合
- この
processSaveState
public ObjectSE processSaveState(FacesContext context)
クラスからコピーされた説明:UIComponent次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのレンダリングレスポンスフェーズの状態保存部分で必要なコンポーネントツリー処理を実行します。
- このコンポーネントの
transientプロパティを参照してください。true の場合、nullを返します。 UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)を呼び出します。- この
UIComponentのすべてのファセットと子のprocessSaveState()メソッドを、getFacetsAndChildren()への呼び出しによって決定された順序で呼び出し、一時的な子とファセットをスキップします。各子またはファセットの後にUIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)が正しく呼び出されることを確認してください。 - このコンポーネントの
saveState()メソッドを呼び出します。 - 子の状態とユーザーの状態を Serializable オブジェクトにカプセル化して返します。
状態保存メソッドがサーバーに設定されている場合、このメソッドは呼び出されない可能性があります。
- 次で指定:
- クラス
UIComponentのprocessSaveState - パラメーター:
context-FacesContext(処理中のリクエスト)- 戻り値:
- 保存された状態。
- 例外:
NullPointerExceptionSE-contextがnullの場合
- このコンポーネントの
processRestoreState
public void processRestoreState(FacesContext context, ObjectSE state)
クラスからコピーされた説明:UIComponent次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのビューの復元フェーズで必要なコンポーネントツリー処理を実行します。
- このコンポーネントの
restoreState()メソッドを呼び出します。 UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)を呼び出します。- この
UIComponentのすべてのファセットと子のprocessRestoreState()メソッドを、getFacetsAndChildren()の呼び出しによって決定された順序で呼び出します。子またはファセットのprocessRestoreState()メソッドから戻った後、UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)を呼び出します。
状態保存メソッドがサーバーに設定されている場合、このメソッドは呼び出されない可能性があります。
- 次で指定:
- クラス
UIComponentのprocessRestoreState - パラメーター:
context-FacesContext(処理中のリクエスト)state- 状態。- 例外:
NullPointerExceptionSE-contextがnullの場合
- このコンポーネントの
getFacesContext
protected FacesContext getFacesContext()
クラスからコピーされた説明:UIComponent現在のリクエストの
FacesContextインスタンスを返す便利なメソッド。- 次で指定:
- クラス
UIComponentのgetFacesContext - 戻り値:
- Faces コンテキスト。
getRenderer
protected Renderer getRenderer(FacesContext context)
クラスからコピーされた説明:UIComponentこのコンポーネントに関連付けられている
Rendererインスタンスがあれば、それを返す簡易メソッド。それ以外の場合は、nullを返します。- 次で指定:
- クラス
UIComponentのgetRenderer - パラメーター:
context- 現在のリクエストのFacesContext- 戻り値:
- レンダラー、または
null。
markInitialState
public void markInitialState()
PartialStateHolderを実装するこのインスタンス上の添付オブジェクトごとに、添付オブジェクトでPartialStateHolder.markInitialState()を呼び出します。- 次で指定:
- インターフェース
PartialStateHolderのmarkInitialState - オーバーライド:
- クラス
UIComponentのmarkInitialState - 導入:
- 2.0
clearInitialState
public void clearInitialState()
PartialStateHolderを実装するこのインスタンス上の添付オブジェクトごとに、添付オブジェクトでPartialStateHolder.clearInitialState()を呼び出します。- 次で指定:
- インターフェース
PartialStateHolderのclearInitialState - オーバーライド:
- クラス
UIComponentのclearInitialState - 導入:
- 2.0
saveState
public ObjectSE saveState(FacesContext context)
インターフェースからコピーされた説明:StateHolderインスタンスの状態を
Serializableオブジェクトとして取得します。このインターフェースを実装するクラスが、StateHolder を実装するインスタンス(イベントハンドラー、バリデーターなどを含む
UIComponentなど)への参照を持っている場合、このメソッドはそれらすべてのインスタンスでStateHolder.saveState(jakarta.faces.context.FacesContext)メソッドも呼び出す必要があります。このメソッドは、子とファセットの状態を保存してはなりませんそれはStateManagerを介して行われますこのメソッドは、実装オブジェクトの状態を変更してはなりません。つまり、このコードを実行した後:
Object state = component.saveState(facesContext);componentは、実行前と同じでなければなりません。このメソッドからの戻り値は
Serializableでなければなりません- パラメーター:
context- Faces コンテキスト。- 戻り値:
- 保存された状態。
restoreState
public void restoreState(FacesContext context, ObjectSE state)
インターフェースからコピーされた説明:StateHolderstate オブジェクトのエントリから状態を復元するために必要な処理を実行します。
このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた
UIComponentなど)、このメソッドはそれらすべてのインスタンスでStateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object)メソッドも呼び出す必要があります。state引数がnullの場合、アクションを実行せずに戻ります。- パラメーター:
context- Faces コンテキスト。state- 状態。
isTransient
public boolean isTransient()
インターフェースからコピーされた説明:StateHoldertrue の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。
- 戻り値:
- 一時的な場合は
true、それ以外の場合はfalse。
setTransient
public void setTransient(boolean transientFlag)
インターフェースからコピーされた説明:StateHolderこのインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。
- パラメーター:
transientFlag- このオブジェクトが 状態の保存または復元に参加しない場合はブール値trueを渡し、それ以外の場合はfalseを渡します。
saveAttachedState
public static ObjectSE saveAttachedState(FacesContext context, ObjectSE attachedObject)
このメソッドは、1 つ以上のアタッチされたオブジェクトを保存する
UIComponentサブクラスによって呼び出されます。これは、StateHolderインターフェースを実装しているかどうかに関係なく、アタッチされたオブジェクトを保存する作業を行う便利なメソッドです。このメソッドを使用すると、restoreAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)を使用して、アタッチされたオブジェクトを復元できます。このメソッドは、次の型のアタッチされたオブジェクトの保存をサポートしています: これらのオブジェクトの
Objects、null値、Collections。含まれているオブジェクトがCollectionではなく、StateHolderを実装していない場合は、引数のない public コンストラクターが必要です。返されるオブジェクトの正確な構造は未定義で不透明ですが、直列化可能です。- パラメーター:
context- このリクエストのFacesContextattachedObject-Listインスタンスまたはオブジェクトであるオブジェクト。attachedObject(またはattachedObjectを構成する要素は、StateHolderを実装できます。- 戻り値:
- 保存する状態オブジェクト。
- 例外:
NullPointerExceptionSE- コンテキスト引数が null の場合。
restoreAttachedState
public static ObjectSE restoreAttachedState(FacesContext context, ObjectSE stateObj) throws IllegalStateExceptionSE
このメソッドは、
saveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)を使用して保存したオブジェクトを復元する必要があるUIComponentサブクラスによって呼び出されます。この方法はsaveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)と密接に結び付いています。このメソッドは、
saveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)でサポートされているすべての添付オブジェクト型の復元をサポートしています。- パラメーター:
context- このリクエストのFacesContextstateObj-saveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)から返された不透明なオブジェクト- 戻り値:
stateObjから復元されたオブジェクト。- 例外:
NullPointerExceptionSE- コンテキストが null の場合。IllegalStateExceptionSE- オブジェクトがsaveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)によって以前に返されなかった場合。
addClientBehavior
public void addClientBehavior(StringSE eventName, ClientBehavior behavior)
これは
ClientBehaviorHolder.addClientBehavior(java.lang.String, jakarta.faces.component.behavior.ClientBehavior)のデフォルトの実装です。UIComponentはClientBehaviorHolderインターフェースを実装していませんが、ClientBehaviorHolderによって定義されたメソッドのデフォルト実装を提供して、サブクラスの実装を簡素化しています。ClientBehaviorHolder契約をサポートするサブクラスは、サブクラスがClientBehaviorHolderを実装することを宣言し、ClientBehaviorHolder.getEventNames()の実装を提供する必要があります。- パラメーター:
eventName- 振る舞いーをアタッチするクライアント側イベントの論理名。behavior- 指定されたイベント名にアタッチするBehaviorインスタンス。- 導入:
- 2.0
getEventNames
public CollectionSE<StringSE> getEventNames()
これは
ClientBehaviorHolder.getEventNames()のデフォルトの実装です。UIComponentはClientBehaviorHolderインターフェースを実装していませんが、ClientBehaviorHolderによって定義されたメソッドのデフォルト実装を提供して、サブクラスの実装を簡素化しています。ClientBehaviorHolder契約をサポートするサブクラスは、サブクラスがClientBehaviorHolderを実装することを宣言し、このメソッドをオーバーライドして、コンポーネントがサポートするクライアントイベント名の空でないCollectionを返す必要があります。- 戻り値:
- イベント名のコレクション。
- 導入:
- 2.0
getClientBehaviors
public MapSE<StringSE,ListSE<ClientBehavior>> getClientBehaviors()
これは
ClientBehaviorHolder.getClientBehaviors()のデフォルトの実装です。UIComponentはClientBehaviorHolderインターフェースを実装していませんが、ClientBehaviorHolderによって定義されたメソッドのデフォルト実装を提供して、サブクラスの実装を簡素化しています。ClientBehaviorHolder契約をサポートするサブクラスは、サブクラスがClientBehaviorHolderを実装することを宣言し、ClientBehaviorHolder.getEventNames()の実装を追加する必要があります。- 戻り値:
- このコンポーネントに関連付けられた動作。
- 導入:
- 2.0
getDefaultEventName
public StringSE getDefaultEventName()
これは
ClientBehaviorHolder.getDefaultEventName()のデフォルトの実装です。UIComponentはClientBehaviorHolderインターフェースを実装していませんが、ClientBehaviorHolderによって定義されたメソッドのデフォルト実装を提供して、サブクラスの実装を簡素化しています。ClientBehaviorHolder契約をサポートするサブクラスは、サブクラスがClientBehaviorHolderを実装することを宣言し、ClientBehaviorHolder.getEventNames()の実装を提供する必要があります。- 戻り値:
- デフォルトのイベント名。