クラス 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()
デフォルトのコンストラクターで、記述子マップを設定します。
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 void
addClientBehavior(StringSE eventName, ClientBehavior behavior)
protected void
addFacesListener(FacesListener listener)
指定されたFacesListener
を、このUIComponent
からイベント通知を受信するために登録されたリスナーのセットに追加します。void
broadcast(FacesEvent event)
指定されたFacesEvent
を、この型のイベントに関心を示しているすべての登録済みイベントリスナーにブロードキャストします。void
clearInitialState()
PartialStateHolder
を実装するこのインスタンス上の添付オブジェクトごとに、添付オブジェクトでPartialStateHolder.clearInitialState()
を呼び出します。void
decode(FacesContext context)
指定されたFacesContext
に含まれるリクエストからこのUIComponent
の新しい状態をデコードし、必要に応じてこの状態を保存します。void
encodeBegin(FacesContext context)
void
encodeChildren(FacesContext context)
void
encodeEnd(FacesContext context)
UIComponent
findComponent(StringSE expression)
MapSE<StringSE,ObjectSE>
getAttributes()
このUIComponent
に関連付けられた属性(およびプロパティ、以下を参照)を表す変更可能なMap
を返します。属性名(文字列である必要があります)をキーにします。int
getChildCount()
このUIComponent
に関連付けられている子UIComponent
の数を返します。ListSE<UIComponent>
getChildren()
MapSE<StringSE,ListSE<ClientBehavior>>
getClientBehaviors()
これはClientBehaviorHolder.getClientBehaviors()
のデフォルトの実装です。StringSE
getClientId(FacesContext context)
このコンポーネントのクライアント側識別子を返し、必要に応じて生成します。StringSE
getDefaultEventName()
これはClientBehaviorHolder.getDefaultEventName()
のデフォルトの実装です。CollectionSE<StringSE>
getEventNames()
これはClientBehaviorHolder.getEventNames()
のデフォルトの実装です。protected FacesContext
getFacesContext()
現在のリクエストのFacesContext
インスタンスを返す便利なメソッド。protected FacesListener[]
getFacesListeners(ClassSE clazz)
指定されたクラスのインスタンスである登録済みFacesListener
の配列を返します。UIComponent
getFacet(StringSE name)
名前付きファセットが存在する場合はそれを返すコンビニエンスメソッド、そうでない場合はnull
int
getFacetCount()
このUIComponent
に関連付けられているファセットUIComponent
の数を返します。MapSE<StringSE,UIComponent>
getFacets()
IteratorSE<UIComponent>
getFacetsAndChildren()
StringSE
getId()
このUIComponent
のコンポーネント識別子を返します。ListSE<SystemEventListener>
getListenersForEventClass(ClassSE<? extends SystemEvent> eventClass)
型eventClass
のイベントに関心のある、このUIComponent
インスタンスに登録されているSystemEventListener
インスタンスを返します。UIComponent
getParent()
このUIComponent
の親UIComponent
を返します(存在する場合)。MapSE<StringSE,ObjectSE>
getPassThroughAttributes(boolean create)
このメソッドの仕様はUIComponent.getPassThroughAttributes()
と同じですが、引数create
がfalse
であり、このインスタンスにパススルー属性データ構造が存在しない場合にのみ、null
を返すことができます。protected Renderer
getRenderer(FacesContext context)
このコンポーネントに関連付けられているRenderer
インスタンスがあれば、それを返す簡易メソッド。それ以外の場合は、null
を返します。StringSE
getRendererType()
このUIComponent
のRenderer
型を返します(存在する場合)。boolean
getRendersChildren()
このコンポーネントが子コンポーネントのレンダリングを担当するかどうかを示すフラグを返します。boolean
invokeOnComponent(FacesContext context, StringSE clientId, ContextCallback callback)
ビュー階層のこのコンポーネントから開始して、引数clientId
と等しいclientId
を持つコンポーネントを検索し、見つかった場合は、引数callback
でContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
メソッドを呼び出し、現在のFacesContext
と見つかったコンポーネントを引数として渡します。boolean
isRendered()
このコンポーネント(およびその子)をリクエスト処理ライフサイクルのレスポンスのレンダリングフェーズでレンダリングする必要がある場合は、true
を返します。boolean
isTransient()
true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。void
markInitialState()
PartialStateHolder
を実装するこのインスタンス上の添付オブジェクトごとに、添付オブジェクトでPartialStateHolder.markInitialState()
を呼び出します。void
processDecodes(FacesContext context)
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのリクエスト値の適用フェーズで必要なコンポーネントツリー処理を実行します。void
processRestoreState(FacesContext context, ObjectSE state)
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのビューの復元フェーズで必要なコンポーネントツリー処理を実行します。ObjectSE
processSaveState(FacesContext context)
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのレンダリングレスポンスフェーズの状態保存部分で必要なコンポーネントツリー処理を実行します。void
processUpdates(FacesContext context)
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのモデル値の更新フェーズで必要なコンポーネントツリー処理を実行します。void
processValidators(FacesContext context)
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのプロセス検証フェーズで必要なコンポーネントツリー処理を実行します。void
queueEvent(FacesEvent event)
現在のリクエスト処理ライフサイクルフェーズの最後で、ブロードキャストするイベントをキューに入れます。protected void
removeFacesListener(FacesListener listener)
このUIComponent
からイベント通知を受信するために登録されたリスナーのセットから、指定されたFacesListener
を削除します。static ObjectSE
restoreAttachedState(FacesContext context, ObjectSE stateObj)
このメソッドは、saveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)
を使用して保存したオブジェクトを復元する必要があるUIComponent
サブクラスによって呼び出されます。void
restoreState(FacesContext context, ObjectSE state)
state オブジェクトのエントリから状態を復元するために必要な処理を実行します。static ObjectSE
saveAttachedState(FacesContext context, ObjectSE attachedObject)
このメソッドは、1 つまたは複数のアタッチされたオブジェクトを保存するUIComponent
サブクラスによって呼び出されます。ObjectSE
saveState(FacesContext context)
インスタンスの状態をSerializable
オブジェクトとして取得します。void
setId(StringSE id)
このUIComponent
のコンポーネント ID(存在する場合)を設定します。void
setParent(UIComponent parent)
このUIComponent
の親UIComponent
を設定します。void
setRendered(boolean rendered)
このUIComponent
のrendered
プロパティを設定します。void
setRendererType(StringSE rendererType)
void
setTransient(boolean transientFlag)
このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。void
subscribeToEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
引数componentListener
によって参照されるリスナーインスタンスを、このUIComponent
の特定のインスタンスから発生するeventClass
型のイベントのリスナーとしてインストールします。void
unsubscribeFromEvent(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
- 現在のリクエストのFacesContext
clientId
- 引数コールバックに渡されるコンポーネントのクライアント識別子。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 実装に、現在のイベントでこれ以上の処理を実行しないことを通知しますIllegalStateExceptionSE
NullPointerExceptionSE
-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
クラスからコピーされた説明:UIComponent
rendered
プロパティが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
クラスからコピーされた説明:UIComponent
rendered
プロパティが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
クラスからコピーされた説明:UIComponent
rendered
プロパティが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
を発生させる必要があるイベントのClass
componentListener
- 型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
を削除する必要があるイベントのClass
componentListener
- 型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)
インターフェースからコピーされた説明:StateHolder
state オブジェクトのエントリから状態を復元するために必要な処理を実行します。
このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた
UIComponent
など)、このメソッドはそれらすべてのインスタンスでStateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object)
メソッドも呼び出す必要があります。state
引数がnull
の場合、アクションを実行せずに戻ります。- パラメーター:
context
- Faces コンテキスト。state
- 状態。
isTransient
public boolean isTransient()
インターフェースからコピーされた説明:StateHolder
true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。
- 戻り値:
- 一時的な場合は
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)
を使用して、アタッチされたオブジェクトを復元できます。このメソッドは、次の型のアタッチされたオブジェクトの保存をサポートしています: これらのオブジェクトの
Object
s、null
値、Collection
s。含まれているオブジェクトがCollection
ではなく、StateHolder
を実装していない場合は、引数のない public コンストラクターが必要です。返されるオブジェクトの正確な構造は未定義で不透明ですが、直列化可能です。- パラメーター:
context
- このリクエストのFacesContext
attachedObject
-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
- このリクエストのFacesContext
stateObj
-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()
の実装を提供する必要があります。- 戻り値:
- デフォルトのイベント名。