public abstract class UIComponent extends ObjectSE implements PartialStateHolder, TransientStateHolder, SystemEventListenerHolder, ComponentSystemEventListener
UIComponent は、Jakarta Server Faces のすべてのユーザーインターフェースコンポーネントの基本クラスです。特定のリクエストとレスポンスに関連付けられた UIComponent
インスタンスのセットは、リクエストまたはレスポンスのコンテンツ全体を表す UIViewRoot
のコンポーネントツリーに編成されます。
コンポーネント開発者の便宜上、UIComponentBase
は UIComponent
に指定されたデフォルトの動作を提供し、すべての具象 UIComponent
「基本」実装の基本クラスです。コンポーネントの作成者は、この抽象クラスを直接実装するのではなく、UIComponentBase
をサブクラス化して、メソッドシグネチャーに対する将来の変更の影響を減らすことをお勧めします。
ListenerFor
アノテーションが Component
のクラス定義にアタッチされている場合、そのクラスも ComponentSystemEventListener
を実装する必要があります。
コンポーネントツリーの動的な変更は、ビューの復元中および復元後にいつでも発生する可能性がありますが、状態の保存中には発生せず、レンダリングと状態の保存に関して適切に機能する必要があります。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | ATTRS_WITH_DECLARED_DEFAULT_VALUES この定数を使用すると、複合コンポーネントの作成者がデフォルト値を指定した宣言済みの複合コンポーネント属性の名前をすばやく見つけることができます。 |
static StringSE | BEANINFO_KEY この定数の値は、コンポーネント属性マップのキーとして使用されます。その値は、複合コンポーネントを説明する |
protected MapSE<StringSE, ValueExpression> | bindings 使用すべきではありません。 |
static StringSE | COMPOSITE_COMPONENT_TYPE_KEY この定数の値は、複合コンポーネントの作成者が宣言した場合、この複合コンポーネントの複合コンポーネントルート |
static StringSE | COMPOSITE_FACET_NAME この定数の値は、複合コンポーネントファセットを説明する |
static StringSE | CURRENT_COMPONENT 使用すべきではありません。 |
static StringSE | CURRENT_COMPOSITE_COMPONENT 使用すべきではありません。 |
static StringSE | FACETS_KEY この定数の値は、この複合コンポーネントの宣言されたファセットのメタ情報を含む |
static StringSE | HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME
|
static StringSE | VIEW_LOCATION_KEY この定数の値は、このコンポーネントインスタンスが存在するビューの |
コンストラクターと説明 |
---|
UIComponent() |
修飾子と型 | メソッドと説明 |
---|---|
protected abstract void | addFacesListener(FacesListener listener) 指定された FacesListener を、この UIComponent からイベント通知を受信するために登録されたリスナーのセットに追加します。 |
abstract void | broadcast(FacesEvent event) 指定された FacesEvent を、この型のイベントに関心を示しているすべての登録済みイベントリスナーにブロードキャストします。 |
void | clearInitialState()
|
abstract void | decode(FacesContext context) 指定された FacesContext に含まれるリクエストからこの UIComponent の新しい状態をデコードし、必要に応じてこの状態を保存します。 |
void | encodeAll(FacesContext context) このコンポーネントが isRendered() から true を返す場合は、次のアクションを実行します。 |
abstract void | encodeBegin(FacesContext context) |
abstract void | encodeChildren(FacesContext context) |
abstract void | encodeEnd(FacesContext context) |
abstract UIComponent | findComponent(StringSE expr) |
abstract MapSE<StringSE, ObjectSE> | getAttributes() この UIComponent に関連付けられた属性(およびプロパティ、以下を参照)を表す変更可能な Map を返します。属性名(文字列である必要があります)をキーにします。 |
abstract int | getChildCount() この UIComponent に関連付けられている子 UIComponent の数を返します。 |
abstract ListSE<UIComponent> | getChildren() |
StringSE | getClientId() Jakarta Expression Language がコンポーネントの |
abstract StringSE | getClientId(FacesContext context) このコンポーネントのクライアント側識別子を返し、必要に応じて生成します。 |
static UIComponent | getCompositeComponentParent(UIComponent component) 指定されたコンポーネントの最も近い複合コンポーネントの親を検索します。 |
StringSE | getContainerClientId(FacesContext context) NamingContainer を実装するコンポーネントが、先頭への追加ロジックを個別に呼び出し可能なメソッドに分割することで、子孫の clientIds への clientId の先頭への追加を選択的に無効にできるようにします。 |
static UIComponent | getCurrentComponent(FacesContext context) 現在処理中の |
static UIComponent | getCurrentCompositeComponent(FacesContext context) 複合コンポーネントである |
protected abstract FacesContext | getFacesContext() 現在のリクエストの FacesContext インスタンスを返す便利なメソッド。 |
protected abstract FacesListener[] | getFacesListeners(ClassSE clazz) 指定されたクラスのインスタンスである登録済み FacesListener の配列を返します。 |
abstract UIComponent | getFacet(StringSE name) 名前付きファセットが存在する場合はそれを返すコンビニエンスメソッド、そうでない場合は null |
int | getFacetCount() この UIComponent に関連付けられているファセット UIComponent の数を返します。 |
abstract MapSE<StringSE, UIComponent> | getFacets() |
abstract IteratorSE<UIComponent> | getFacetsAndChildren() |
abstract StringSE | getFamily() このコンポーネントが属するコンポーネントファミリの識別子を返します。 |
abstract StringSE | getId() この UIComponent のコンポーネント識別子を返します。 |
ListSE<SystemEventListener> | getListenersForEventClass(ClassSE<? extends SystemEvent> eventClass) この実装は |
UIComponent | getNamingContainer() "this" 以降では、祖先の中で最も近いコンポーネント、つまり |
abstract UIComponent | getParent() この UIComponent の親 UIComponent を返します(存在する場合)。 |
MapSE<StringSE, ObjectSE> | getPassThroughAttributes() これは、 |
MapSE<StringSE, ObjectSE> | getPassThroughAttributes(boolean create) このメソッドの仕様は |
protected abstract Renderer | getRenderer(FacesContext context) このコンポーネントに関連付けられている Renderer インスタンスがあれば、それを返す簡易メソッド。それ以外の場合は、null を返します。 |
abstract StringSE | getRendererType() この UIComponent の Renderer 型を返します(存在する場合)。 |
abstract boolean | getRendersChildren() このコンポーネントが子コンポーネントのレンダリングを担当するかどうかを示すフラグを返します。 |
MapSE<StringSE, StringSE> | getResourceBundleMap() このコンポーネントの |
protected StateHelper | getStateHelper() このコンポーネントが |
protected StateHelper | getStateHelper(boolean create)
|
TransientStateHelper | getTransientStateHelper() この |
TransientStateHelper | getTransientStateHelper(boolean create) この |
abstract ValueBinding | getValueBinding(StringSE name) 使用すべきではありません。 これは getValueExpression(java.lang.String) に置き換えられました。 |
ValueExpression | getValueExpression(StringSE name) 指定された属性またはプロパティ名があれば、その値の計算に使用される ValueExpression を返します。 |
boolean | initialStateMarked()
|
boolean | invokeOnComponent(FacesContext context, StringSE clientId, ContextCallback callback) ビュー階層のこのコンポーネントから開始して、引数 clientId と等しい clientId を持つコンポーネントを検索し、見つかった場合は、引数 callback で ContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent) メソッドを呼び出し、現在の FacesContext と見つかったコンポーネントを引数として渡します。 |
static boolean | isCompositeComponent(UIComponent component)
|
boolean | isInView() このコンポーネントがビュー階層内にある場合は |
abstract boolean | isRendered() このコンポーネント(およびその子)をリクエスト処理ライフサイクルのレスポンスのレンダリングフェーズでレンダリングする必要がある場合は、 true を返します。 |
protected boolean | isVisitable(VisitContext context) このコンポーネントにアクセスする必要がある場合は |
void | markInitialState()
|
void | popComponentFromEL(FacesContext context)
|
abstract void | processDecodes(FacesContext context) 次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのリクエスト値の適用フェーズで必要なコンポーネントツリー処理を実行します。 |
void | processEvent(ComponentSystemEvent event) デフォルトの実装では、次のアクションが実行されます。 |
abstract void | processRestoreState(FacesContext context, ObjectSE state) 次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのビューの復元フェーズで必要なコンポーネントツリー処理を実行します。 |
abstract ObjectSE | processSaveState(FacesContext context) 次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのレンダリングレスポンスフェーズの状態保存部分で必要なコンポーネントツリー処理を実行します。 |
abstract void | processUpdates(FacesContext context) 次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのモデル値の更新フェーズで必要なコンポーネントツリー処理を実行します。 |
abstract void | processValidators(FacesContext context) 次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのプロセス検証フェーズで必要なコンポーネントツリー処理を実行します。 |
void | pushComponentToEL(FacesContext context, UIComponent component) キー |
abstract void | queueEvent(FacesEvent event) 現在のリクエスト処理ライフサイクルフェーズの最後で、ブロードキャストするイベントをキューに入れます。 |
protected abstract void | removeFacesListener(FacesListener listener) この UIComponent からイベント通知を受信するために登録されたリスナーのセットから、指定された FacesListener を削除します。 |
void | restoreTransientState(FacesContext context, ObjectSE state) 一時的な状態の概念をサポートする必要があるコンポーネントの場合、このメソッドは、 |
ObjectSE | saveTransientState(FacesContext context) 一時的な状態の概念をサポートする必要があるコンポーネントの場合、このメソッドは、本質的に一時的であることがわかっているすべての状態を保存します。 |
abstract void | setId(StringSE id) この UIComponent のコンポーネント ID(存在する場合)を設定します。 |
void | setInView(boolean isInView) このコンポーネントが現在ビュー階層内にあるかどうかに関するステータスを更新します。 |
abstract void | setParent(UIComponent parent) この |
abstract void | setRendered(boolean rendered) この UIComponent の rendered プロパティを設定します。 |
abstract void | setRendererType(StringSE rendererType) |
abstract void | setValueBinding(StringSE name, ValueBinding binding) 使用すべきではありません。 これは setValueExpression(java.lang.String, jakarta.el.ValueExpression) に置き換えられました。 |
void | setValueExpression(StringSE name, ValueExpression binding) 指定された属性またはプロパティ名がある場合は、その値の計算に使用される ValueExpression を設定します。 |
void | subscribeToEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener) この実装は |
void | unsubscribeFromEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener) この実装は |
boolean | visitTree(VisitContext visitContext, VisitCallback callback) ツリー内のこのノードからツリー訪問を実行します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
isTransient, restoreState, saveState, setTransient
public static final StringSE HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME
CURRENT_COMPONENT
および CURRENT_COMPOSITE_COMPONENT
属性キーを指定どおりに尊重する必要があるかどうかを判断するために UIComponent
によって参照される ServletContext
init パラメーター。
このパラメーターが指定されていない場合、または false に設定されている場合、CURRENT_COMPONENT
および CURRENT_COMPOSITE_COMPONENT
メソッドで指定された契約は適用されません。このパラメーターが true に設定されている場合、契約は守られます。
public static final StringSE BEANINFO_KEY
この定数の値は、コンポーネント属性マップのキーとして使用されます。その値は、複合コンポーネントを説明する java.beans.BeanInfo
実装です。この BeanInfo
は、複合コンポーネント BeanInfo と呼ばれます。
public static final StringSE FACETS_KEY
この定数の値は、この複合コンポーネントの宣言されたファセットのメタ情報を含む Map<PropertyDescriptor>
の複合コンポーネント BeanDescriptor のキーとして使用されます。このマップには、ファセットが明示的に宣言されていなくても、キー COMPOSITE_FACET_NAME
にエントリが含まれている必要があります。COMPOSITE_FACET_NAME
を参照してください。
public static final StringSE VIEW_LOCATION_KEY
この定数の値は、このコンポーネントインスタンスが存在するビューの Location
のコンポーネント属性 Map
のキーとして使用されます。
public static final StringSE COMPOSITE_COMPONENT_TYPE_KEY
この定数の値は、複合コンポーネントの作成者が宣言した場合、この複合コンポーネントの複合コンポーネントルート UIComponent
の component-type
に評価される ValueExpression
の複合コンポーネント BeanDescriptor のキーとして使用されます。
public static final StringSE COMPOSITE_FACET_NAME
この定数の値は、複合コンポーネントファセットを説明する PropertyDescriptor
の FACETS_KEY
に従って、返される Map
のキーとして使用されます。この定数の値は、getFacets()
から返される Map
のキーとしても使用されます。この場合は、複合コンポーネント VDL ファイルの <composite:implementation>
セクションにあるすべてのコンポーネントの親である UIPanel
である実際のファセットを指します。
public static final StringSE ATTRS_WITH_DECLARED_DEFAULT_VALUES
この定数を使用すると、複合コンポーネントの作成者がデフォルト値を指定した宣言済みの複合コンポーネント属性の名前をすばやく見つけることができます。この定数が引数として渡されると、複合コンポーネント BeanDescriptor の getValue()
メソッドから返される Collection<String>
として情報が公開されます。
@DeprecatedSE public static final StringSE CURRENT_COMPONENT
UIComponent
は、現在処理中の先のキーは FacesContext
がマップ属性内に関連付けられます。この定数の使用は非推奨です。HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME
を使用して有効にしてください。
FacesContext.getAttributes()
, 定数フィールド値 @DeprecatedSE public static final StringSE CURRENT_COMPOSITE_COMPONENT
現在処理中の複合 UIComponent
が FacesContext
内に関連付けされるための鍵は、マップを属性。この定数の使用は非推奨です。HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME
を使用して有効にしてください。
FacesContext.getAttributes()
, 定数フィールド値 @DeprecatedSE protected MapSE<StringSE,ValueExpression> bindings
public abstract MapSE<StringSE,ObjectSE> getAttributes()
この UIComponent
に関連付けられた属性(およびプロパティ、以下を参照)を表す可変の Map
を返します。属性名(文字列でなければなりません)をキーとします。返される実装は、すべての標準およびオプションの Map
メソッドをサポートする必要があり、さらに次の追加要件もサポートする必要があります。
Map
実装は java.io.Serializable
インターフェースを実装する必要があります。null
キーまたは値を追加しようとすると、NullPointerException
がスローされます。ClassCastException
がスローされます。UIComponent
の実装クラスのプロパティと一致する場合、次のメソッドは特別な動作をします:containsKey
- false
を返します。get()
- プロパティが読み取り可能な場合は、getter メソッドを呼び出して、戻り値を返します(対応するラッパークラスでプリミティブ値をラップします)。それ以外の場合は IllegalArgumentException
をスローします。put()
- プロパティが書き込み可能な場合は、setter メソッドを呼び出して対応する値を設定します(対応するラッパークラスでプリミティブ値をアンラップします)。プロパティが書き込み可能でない場合、またはプリミティブ型のプロパティを null
に設定しようとした場合は、IllegalArgumentException
をスローします。remove
- IllegalArgumentException
をスローします。public MapSE<StringSE,ObjectSE> getPassThroughAttributes()
これは、getPassThroughAttributes(boolean)
を単に呼び出し、引数として true
を渡す便利なメソッドです。このメソッドは null
を返してはなりません。
public MapSE<StringSE,ObjectSE> getPassThroughAttributes(boolean create)
このメソッドの仕様は getPassThroughAttributes()
と同じですが、引数 create
が false
であり、このインスタンスにパススルー属性データ構造が存在しない場合に限り、null
を返すことができます。返される Map
実装は、すべての標準およびオプションの Map
メソッドをサポートし、さらに次の追加要件をサポートする必要があります。マップは getStateHelper()
を使用して格納する必要があります。
Map
実装は java.io.Serializable
を実装する必要があります。
null
キーまたは値を追加しようとすると、NullPointerException
がスローされます。
String
ではないキーを追加しようとすると、IllegalArgumentException
がスローされます。
このクラスから直接拡張するコンポーネントとの下位互換性のために、空のマップを返すデフォルトの実装が提供されています。
create
- true
の場合、新しい Map
インスタンスがまだ存在していなければ作成されます。false
で、既存の Map
インスタンスがない場合、インスタンスは作成されず、null
が返されます。Map
インスタンス、または null
。public ValueExpression getValueExpression(StringSE name)
指定された属性またはプロパティ名があれば、その値の計算に使用される ValueExpression
を返します。
このメソッドは、Jakarta Server Faces 1.2 以降に準拠するコンポーネントに対してオーバーライドおよび実装する必要があります。
name
- ValueExpression
を取得する属性またはプロパティの名前 null
。NullPointerExceptionSE
- name
が null
の場合 public void setValueExpression(StringSE name, ValueExpression binding)
指定された属性またはプロパティ名がある場合は、その値の計算に使用される ValueExpression
を設定します。
実装は、引数 expression
で Expression.isLiteralText()
を呼び出す必要があります。isLiteralText()
が true
を返す場合、引数式で ValueExpression.getValue(jakarta.el.ELContext)
を呼び出し、その結果を this.
ここで、getAttributes()
への呼び出しで value
パラメーターとして渡します .put(name、value)name
は引数 name
です。ValueExpression.getValue(jakarta.el.ELContext)
を呼び出した結果として例外がスローされた場合は、それを FacesException
にラップして、再度スローします。isLiteralText()
が false
を返す場合、評価されていない expression
引数を、引数 name
で指定されたキーの ValueExpression
のコレクションに格納するだけです。
このメソッドは、Jakarta Server Faces 1.2 以降に準拠するコンポーネントに対してオーバーライドおよび実装する必要があります。
name
- ValueExpression
を設定する属性またはプロパティの名前 binding
- 設定する ValueExpression
、または現在設定されている ValueExpression
を削除する null
IllegalArgumentExceptionSE
- name
が id
または parent
のいずれかである場合 NullPointerExceptionSE
- name
が null
の場合 public void markInitialState()
PartialStateHolder.markInitialState()
の実装。このメソッドはランタイムによって呼び出され、インスタンスが状態の変化の追跡を開始する必要があることを示します。
PartialStateHolder
の markInitialState
public boolean initialStateMarked()
PartialStateHolder.initialStateMarked()
の実装。このメソッドはランタイムによって呼び出され、PartialStateHolder.markInitialState()
メソッドが呼び出されたかどうかをテストします。
PartialStateHolder
の initialStateMarked
true
、それ以外の場合は false
。public void clearInitialState()
PartialStateHolder.clearInitialState()
の実装であるこのメソッドは、状態の変化の追跡を停止するようインスタンスに指示するためにランタイムによって呼び出されます。
PartialStateHolder
の clearInitialState
protected StateHelper getStateHelper()
このコンポーネントが PartialStateHolder
を実装するのに役立つ StateHelper
インスタンスを返します。
protected StateHelper getStateHelper(boolean create)
getStateHelper()
と同様ですが、引数 creat
が true
の場合にのみ状態ヘルパーインスタンスを作成します。
create
- true
の場合、新しい StateHelper
インスタンスがまだ存在していなければ作成されます。false
で、既存の StateHelper
インスタンスがない場合、インスタンスは作成されず、null
が返されます。public TransientStateHelper getTransientStateHelper()
この UIComponent
インスタンスの TransientStateHelper
インスタンスを返します。デフォルトの実装では、true
を引数として渡して getTransientStateHelper(boolean)
を呼び出すだけです。
public TransientStateHelper getTransientStateHelper(boolean create)
この UIComponent
インスタンスの TransientStateHelper
インスタンスを返します。
create
- true
が必要に応じて内部データ構造を作成する場合。false
の場合は、インスタンスを作成しないでください。この場合、このメソッドが null
を返す可能性があります。public void restoreTransientState(FacesContext context, ObjectSE state)
一時的な状態の概念をサポートする必要があるコンポーネントの場合、このメソッドは、saveTransientState(jakarta.faces.context.FacesContext)
への以前の呼び出しで保存された状態を復元します。
TransientStateHolder
の restoreTransientState
context
- Faces コンテキスト state
- 一時的な値を含むオブジェクト public ObjectSE saveTransientState(FacesContext context)
一時的な状態の概念をサポートする必要があるコンポーネントの場合、このメソッドは、本質的に一時的であることがわかっているすべての状態を保存します。
TransientStateHolder
の saveTransientState
context
- Faces コンテキスト。public boolean isInView()
このコンポーネントがビュー階層内にある場合は true
を返し、それ以外の場合は false
を返します
true
、それ以外の場合は false
。public void setInView(boolean isInView)
このコンポーネントが現在ビュー階層内にあるかどうかに関するステータスを更新します。このメソッドは、開発者が決して呼び出さないでください。UIComponent
の内部実装は、親の子 List
またはファセット Map
にコンポーネントが追加または削除されると、それを呼び出します。
isInView
- このコンポーネントがビュー階層内にあるかどうかを示すフラグ public StringSE getClientId()
Jakarta Expression Language がコンポーネントの clientId
にアクセスできるようにします。これは、component
および cc
暗黙オブジェクトと組み合わせると特に便利です。単に FacesContext.getCurrentInstance()
を呼び出してから getClientId(FacesContext)
を呼び出すデフォルトの実装が提供されています。
public abstract StringSE getClientId(FacesContext context)
このコンポーネントのクライアント側識別子を返します。必要に応じて生成します。関連付けられている Renderer
がある場合は、clientId をクライアントへの送信に適した形式に変換するように要求されます。
このメソッドからの戻り値は、コンポーネントの id
プロパティが変更された場合、またはコンポーネントがクライアント ID が変更される NamingContainer
(たとえば、UIData
) に配置されない限り、インスタンスの存続期間中は同じ値である必要があります。ただし、これらの場合でも、このメソッドへの連続した呼び出しは常に同じ値を返す必要があります。実装では、clientId を決定する際に次の手順に従う必要があります。
ビュー階層内で、NamingContainer
を実装するこのコンポーネントに最も近い祖先を検索します。そのコンポーネントで getContainerClientId()
を呼び出し、結果を parentId
ローカル変数として保存します。このコンポーネントで 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
を渡して結果を返します。
context
- 現在のリクエストの FacesContext
NullPointerExceptionSE
- context
が null
の場合 public StringSE getContainerClientId(FacesContext context)
NamingContainer
を実装するコンポーネントが、先頭への追加ロジックを別々に呼び出し可能なメソッドに分割することで、子孫の clientIds への clientId の先頭への追加を選択的に無効にできるようにします。使用方法については、getClientId()
を参照してください。
デフォルトでは、このメソッドは getClientId()
を呼び出し、結果を返します。
context
- Faces コンテキスト。NullPointerExceptionSE
- context
が null
の場合 public abstract StringSE getFamily()
このコンポーネントが属するコンポーネントファミリの識別子を返します。この識別子は、rendererType
プロパティの値と組み合わせて、このコンポーネントインスタンスに適切な Renderer
を選択するために使用できます。このメソッドは null
を返すべきではないことに注意してください
public abstract StringSE getId()
この UIComponent
のコンポーネント識別子を返します。
public abstract void setId(StringSE id)
この UIComponent
のコンポーネント ID(存在する場合)を設定します。コンポーネント識別子は、次の構文制限に従う必要があります。
コンポーネント識別子は、次のセマンティック制限にも従う必要があります(この制限は setId()
実装によって強制されないことに注意してください)。
NamingContainer
である最も近い祖先 UIComponent
の子孫であるすべてのコンポーネント(ファセットを含む)間で一意であるか、NamingContainer
であるそのような祖先がない場合はコンポーネントツリー全体のスコープ内で一意である必要があります。id
- 新しいコンポーネント識別子、またはこの UIComponent
にコンポーネント識別子がないことを示す null
IllegalArgumentExceptionSE
- id
が構文的に有効でない場合 public abstract UIComponent getParent()
この UIComponent
の親 UIComponent
があれば、それを返します。子コンポーネントが getParent( )
から null を返す場合でも、コンポーネントは、子コンポーネントをこのコンポーネントの子のリストに追加および削除できるようにする必要があります。
public abstract void setParent(UIComponent parent)
この UIComponent
の親 UIComponent
を設定します。parent.isInView()
が true
を返す場合、このメソッドを呼び出すと、まずこのノードに対して PreRemoveFromViewEvent
が発行され、次にこのノードの子が発行されます。次に、再親化が行われると、PostAddToViewEvent
もパブリッシュされます。最初にこのノードに対して、次にノードの子に対して行われますが、次の条件のいずれかが true の場合のみです。
FacesContext.getCurrentPhaseId()
は PhaseId.RESTORE_VIEW
を返し、部分的な状態の保存が有効になります。
FacesContext.isPostback()
は false
を返し、FacesContext.getCurrentPhaseId()
は PhaseId.RESTORE_VIEW
以外のものを返します
このメソッドは、開発者が決して呼び出さないでください。UIComponent
の内部実装は、親の子 List
またはファセット Map
にコンポーネントが追加または削除されると、それを呼び出します。
parent
- 新しい親、またはコンポーネントツリーのルートノードの null
public abstract boolean isRendered()
このコンポーネント(およびその子)をリクエスト処理ライフサイクルのレスポンスのレンダリングフェーズでレンダリングする必要がある場合は、true
を返します。
true
、それ以外の場合は false
。public abstract void setRendered(boolean rendered)
この UIComponent
の rendered
プロパティを設定します。
rendered
- true
がこのコンポーネントをレンダリングする場合。それ以外の場合は、このコンポーネントをレンダリングしないでください public abstract StringSE getRendererType()
この UIComponent
の Renderer
型を返します(存在する場合)。
public abstract void setRendererType(StringSE rendererType)
この UIComponent
の Renderer
型、またはそれ自体をレンダリングするコンポーネントの null
を設定します。
rendererType
- 使用する Renderer
の型の論理識別子、またはそれ自体をレンダリングするコンポーネントの null
public abstract boolean getRendersChildren()
このコンポーネントが子コンポーネントのレンダリングを担当するかどうかを示すフラグを返します。UIComponentBase.getRendersChildren()
のデフォルト実装は、このコンポーネントのレンダラーを見つけようとします。存在する場合は、Renderer.getRendersChildren()
を呼び出して結果を返します。そうでない場合は、false を返します。Jakarta Server Faces Specification のバージョン 1.2 以降、コンポーネントの作成者は、このメソッドから true
を返し、UIComponentBase.encodeChildren(jakarta.faces.context.FacesContext)
に依存することをお勧めします。
true
、それ以外の場合は false
。public MapSE<StringSE,StringSE> getResourceBundleMap()
このコンポーネントの ResourceBundle
の Map<String,String>
を返します。コンポーネントには、関連付けられた ResourceBundle
がある場合があります。このバンドルには、このコンポーネントのインスタンスに関連するローカライズされたプロパティが含まれている場合があります。デフォルトの実装では、まず、現在の UIComponent this
の完全修飾クラス名に等しいベース名を持つ ResourceBundle
と、現在の UIViewRoot
の Locale
に等しい Locale
を検索します。そのようなバンドルが見つからず、コンポーネントが複合コンポーネントである場合は、この複合コンポーネントの Resource
の resourceName を resourceName とし、ファイル拡張子を ".properties" に置き換えます。この複合コンポーネントの Resource
の libraryName を libraryName とします。派生した resourceName と libraryName を渡して、ResourceHandler.createResource(java.lang.String,java.lang.String)
を呼び出します。これによって、仕様書のセクション 2.6.1.3 で指定されている createResource
に実装されたローカライゼーション機能により、ResourceBundle
のローカライゼーションが自動的に可能になることに注意してください。結果として得られる Resource
が存在し、それが見つかる場合は、リソースの InputStream
を使用して ResourceBundle
が作成されます。このコンポーネントの ResourceBundle
を取得するための前の 2 つの手順のいずれかが成功した場合、ResourceBundle
は Map<String,String>
にラップされて返されます。それ以外の場合は、Collections.EMPTY_MAP
が返されます。
public abstract ListSE<UIComponent> getChildren()
このコンポーネントに関連付けられた子 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
以外のものを返します
public abstract int getChildCount()
この UIComponent
に関連付けられている子 UIComponent
の数を返します。子がない場合、このメソッドは 0 を返す必要があります。このメソッドが子コンポーネントリストの作成を引き起こしてはなりません。
public abstract UIComponent findComponent(StringSE expr)
以下に説明するアルゴリズムに従って、指定された検索式(存在する場合)に一致する id
で UIComponent
を検索して返します。
WARNING: 見つかった UIComponent
インスタンスがあれば、そのツリー走査コンテキストに関係なく返されます。コンポーネントから Jakarta Expression 言語にバインドされた属性を取得することは安全ではありません。Jakarta Expression Language 式には、#{component}
などの暗黙的なオブジェクトを含めることができます。これらのオブジェクトは、ツリートラバースコンテキストのスコープ内で評価されることを前提としています。ツリートラバーサルコンテキストの外でこれらの種類の暗黙的なオブジェクトを使用して式を評価すると、未定義の結果が生成されます。見つかった UIComponent
インスタンスを操作するときにツリートラバーサルコンテキストを正しく説明するメソッドについて は、invokeOnComponent(jakarta.faces.context.FacesContext, java.lang.String, jakarta.faces.component.ContextCallback)
を参照してください。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()
メソッドが呼び出され、検索式の残りの部分が渡されます。expr
- 返される UIComponent
を識別する検索式 UIComponent
、またはコンポーネントが見つからなかった場合は null
IllegalArgumentExceptionSE
- 検索式の中間識別子が NamingContainer
ではない UIComponent
を識別する場合 NullPointerExceptionSE
- expr
が null
の場合 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
と見つかったコンポーネントを引数として渡します。このメソッドは findComponent(java.lang.String)
に似ていますが、ビューのルートから検索するための主要な UINamingContainer.getSeparatorChar(jakarta.faces.context.FacesContext)
構文をサポートしていません。
デフォルトの実装では、最初に this.getClientId()
が引数 clientId
と等しいかどうかをチェックします。その場合は、最初に pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出し、次に引数コールバックで ContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
メソッドを呼び出して、FacesContext
引数を渡し、これをコンポーネント引数として渡します。次に popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出します。コールバックによって Exception
がスローされた場合は、FacesException
でラップして、再度スローします。それ以外の場合は、true
を返します。
それ以外の場合は、getFacetsAndChildren()
によって返される各コンポーネントについて、このメソッドに引数を順番に渡して invokeOnComponent()
を呼び出します。invokeOnComponent()
が初めて true を返したときは、残りの Iterator
のトラバースを中止し、true
を返します。
ContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出す場合、このメソッドの実装は、コールバックに渡されたコンポーネントの状態が、引数 clientId
で見つかった状態に関するビュー階層内のコンポーネントの位置を正しく反映することを保証する必要があります。例: UIData
などの反復コンポーネントは、正しい行に基づく適切な子コンポーネントを見つける前に、引数 clientId
を正しく反映するように行インデックスを設定する必要があります。コールバックが戻るとき、通常または Exception
をスローすることにより、このメソッドの実装は、ビューの状態をコールバックを呼び出す前の状態に復元する必要があります。
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;
}
});
}
context
- 現在のリクエストの FacesContext
clientId
- 引数コールバックに渡されるコンポーネントのクライアント識別子。callback
- Callback インターフェースの実装。true
指定された clientId
を持つコンポーネントが見つかった場合、そのコンポーネントを引数として渡してコールバックメソッドが正常に呼び出され、例外はスローされませんでした。指定された clientId
のコンポーネントが見つからない場合、false
を返します。NullPointerExceptionSE
- いずれかの引数が null の場合 FacesException
- 引数 Callback が例外をスローすると、FacesException
にラップされて再スローされます。public abstract MapSE<StringSE,UIComponent> getFacets()
この UIComponent
に関連付けられたファセット UIComponent
を表す変更可能な Map
を返します。ファセット名(文字列である必要があります)をキーとします。返される実装は、すべての標準およびオプションの Map
メソッドをサポートする必要があり、さらに次の追加要件もサポートする必要があります。
Map
実装は java.io.Serializable
インターフェースを実装する必要があります。null
キーまたは値を追加しようとすると、NullPointerException がスローされます。UIComponent
以外の値を追加しようとすると、ClassCastException がスローされます。UIComponent
が追加されるたびに:parent
プロパティをこのコンポーネントインスタンスに設定する必要があります。parent
プロパティがすでに null 以外の場合、コンポーネントは最初に前の親(子またはファセットのいずれかであった可能性がある)から削除する必要があります。UIComponent
が削除されるときはいつでも:parent
プロパティは null
に設定する必要があります。public int getFacetCount()
この UIComponent
に関連付けられているファセット UIComponent
の数を返します。ファセットがない場合、このメソッドは 0 を返す必要があります。このメソッドにより、ファセットコンポーネントマップが作成されないようにする必要があります。
UIComponent を直接拡張するクラスとの下位互換性のために、単に getFacets()
を呼び出し、次に返された Map
で size()
メソッドを呼び出すデフォルト実装が提供されています。このメソッドのより最適化されたバージョンが UIComponentBase.getFacetCount()
で提供されています。
public abstract UIComponent getFacet(StringSE name)
名前付きファセットが存在する場合はそれを返し、そうでない場合は null
を返す簡易メソッド。リクエストされたファセットが存在しない場合は、ファセットマップを作成しないでください。
name
- 目的のファセットの名前 null
public abstract IteratorSE<UIComponent> getFacetsAndChildren()
この UIComponent
の子 UIComponent
が後に続くファセットに Iterator
を返します。ファセットは未定義の順序で返され、その後にすべての子が子リストに格納されている順序で返されます。このコンポーネントにファセットまたは子がない場合、空の Iterator
が返されます。
返される Iterator
は、remove()
操作をサポートしてはなりません。
public abstract void broadcast(FacesEvent event) throws AbortProcessingException
指定した FacesEvent
を、この型のイベントに関心を示したすべての登録済みイベントリスナーにブロードキャストします。リスナーは、追加された順に呼び出されます。
event
が BehaviorEvent
のインスタンスであり、現在の component
が event
のソースである場合、BehaviorEvent.getBehavior()
を呼び出してイベントの Behavior
を取得します。Behavior
インスタンスで Behavior.broadcast(jakarta.faces.event.BehaviorEvent)
を呼び出します。
event
- 放送される FacesEvent
AbortProcessingException
- Jakarta Server Faces 実装に、現在のイベントでこれ以上の処理を実行しないことを通知します IllegalArgumentExceptionSE
- この FacesEvent
の実装クラスがこのコンポーネントでサポートされていない場合 NullPointerExceptionSE
- event
が null
の場合 public abstract void decode(FacesContext context)
指定された FacesContext
に含まれるリクエストからこの UIComponent
の新しい状態をデコードし、必要に応じてこの状態を保存します。
デコード中、queueEvent()
を呼び出すことにより、(インタレストを登録したイベントリスナーによる)後の処理のためにイベントをキューに入れることができます。
context
- FacesContext
(処理中のリクエスト)NullPointerExceptionSE
- context
が null
の場合 public boolean visitTree(VisitContext visitContext, VisitCallback callback)
ツリー内のこのノードからツリー訪問を実行します。
UIComponent.visitTree() の実装は VisitCallback
を直接呼び出さず、代わりに VisitContext.invokeVisitCallback(jakarta.faces.component.UIComponent, jakarta.faces.component.visit.VisitCallback)
を呼び出してコールバックを呼び出します。これにより、VisitContext
実装は、たとえばコンポーネントのサブセットに対して VisitCallback
を呼び出すだけで、最適化されたツリートラバーサルを提供できます。
UIComponent.visitTree() 実装は、訪問を実行する前に UIComponent.pushComponentToEL() を呼び出し、訪問後に UIComponent.popComponentFromEL() を呼び出す必要があります。
visitContext
- この訪問の VisitContext
callback
- 訪問したノードごとに visit
メソッドが呼び出される VisitCallback
インスタンス true
を返し、ツリーの訪問が完了したことを示す場合があります(訪問する必要のあるすべてのコンポーネントが訪問されたなど)。これにより、ツリーへのアクセスが短絡され、アクセスされるコンポーネントがなくなります。VisitContext.invokeVisitCallback()
protected boolean isVisitable(VisitContext context)
このコンポーネントにアクセスする必要がある場合は true
を返し、それ以外の場合は false
を返します。UIComponent.visitTree()
によって呼び出され、このコンポーネントが VisitContext.getHints()
によって返されたヒントを満たすかどうかを判断します。
このメソッドが false を返す場合、アクセスされたツリーは短絡され、コンポーネントもその子孫も訪問されません。
カスタム visitTree()
実装は、このメソッドを呼び出して、訪問関連の処理を実行する前にコンポーネントがアクセス可能かどうかを判断できます。
context
- 訪問コンテキスト。true
、そうでなければ false
。public abstract void encodeBegin(FacesContext context) throws IOExceptionSE
rendered
プロパティが true
の場合、この UIComponent
の現在の状態の開始を、指定された FacesContext
に含まれるレスポンスにレンダリングします。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
の場合、pushComponentToEL(jakarta.faces.context.FacesContext,jakarta.faces.component.UIComponent)
を呼び出してすぐに戻ります。
context
- FacesContext
は作成中のレスポンス IOExceptionSE
- レンダリング中に入出力エラーが発生した場合 NullPointerExceptionSE
- context
が null
の場合 public abstract void encodeChildren(FacesContext context) throws IOExceptionSE
rendered
プロパティが true
の場合、この UIComponent
の子 UIComponent
をレンダリングします。このメソッドは、rendersChildren
プロパティが true
の場合にのみ呼び出されます。
Renderer
がこの UIComponent
に関連付けられている場合、実際のエンコーディングは Renderer.encodeChildren(FacesContext, UIComponent)
に委譲されます。この UIComponent
に関連付けられている Renderer
がない場合は、このコンポーネントの各子を反復処理し、encodeAll(jakarta.faces.context.FacesContext)
を呼び出します。
context
- FacesContext
は作成中のレスポンス IOExceptionSE
- レンダリング中に入出力エラーが発生した場合 NullPointerExceptionSE
- context
が null
の場合 public abstract void encodeEnd(FacesContext context) throws IOExceptionSE
rendered
プロパティが true
の場合、この UIComponent
の現在の状態の終了をレンダリングします。
Renderer
がこの UIComponent
に関連付けられている場合、実際のエンコーディングは Renderer.encodeEnd(FacesContext, UIComponent)
に委譲されます。
popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出します。rendered
プロパティの値に関係なく戻る前。
context
- FacesContext
は作成中のレスポンス IOExceptionSE
- レンダリング中に入出力エラーが発生した場合 NullPointerExceptionSE
- context
が null
の場合 public void encodeAll(FacesContext context) throws IOExceptionSE
このコンポーネントが isRendered()
から true
を返す場合は、次のアクションを実行します。
getRendersChildren()
フラグの値に関係なく、isRendered()
から true
を返すこのコンポーネントとそのすべての子をレンダリングします。
context
- Faces コンテキスト。IOExceptionSE
- レンダリング中に入出力エラーが発生した場合 NullPointerExceptionSE
- context
が null
の場合 public void pushComponentToEL(FacesContext context, UIComponent component)
キー CURRENT_COMPONENT
を使用して、現在の UIComponent
this
を FacesContext
属性マップにプッシュし、popComponentFromEL(jakarta.faces.context.FacesContext)
への後続の呼び出しのために CURRENT_COMPONENT
に関連付けられた前の UIComponent
を保存します。
このメソッドと popComponentFromEL()
は、Jakarta Expression Language Expression "#{component}
" がライフサイクルで処理されている「現在の」コンポーネントに解決できるようにする契約の基礎を形成します。pushComponentToEL()
および popComponentFromEL()
を呼び出す必要がある場合の要件は、このクラスの javadoc で必要に応じて指定されます。
pushComponentToEL()
が戻った後、getCurrentComponent(jakarta.faces.context.FacesContext)
を呼び出すと、popComponentFromEL()
が呼び出されるまで this
UIComponent
インスタンスを返す必要があります。呼び出されると、前の UIComponent
インスタンスが getCurrentComponent()
から返されます。
context
- 現在のリクエストの FacesContext
component
- EL にプッシュする component
。component
が null
の場合、この呼び出しが呼び出された UIComponent
インスタンスは EL にプッシュされます。NullPointerExceptionSE
- context
が null
の場合 FacesContext.getAttributes()
public void popComponentFromEL(FacesContext context)
FacesContext
属性マップから現在の UIComponent
をポップして、前の UIComponent
があればそれが現在のコンポーネントになるようにします。
context
- 現在のリクエストの FacesContext
NullPointerExceptionSE
- context
が null
の場合 FacesContext.getAttributes()
public static boolean isCompositeComponent(UIComponent component)
component
が複合コンポーネントの場合は true
を返し、それ以外の場合は false
を返します。
component
- テストする UIComponent
true
、それ以外の場合は false
。NullPointerExceptionSE
- component
が null
の場合 public static UIComponent getCompositeComponentParent(UIComponent component)
指定されたコンポーネントの最も近い複合コンポーネントの親を検索します。
component
- 検索を開始するコンポーネント component
が null
の場合、null
を返します。それ以外の場合は、コンポーネントの親階層を検索して、最も近い親複合コンポーネントを探します。親複合コンポーネントが見つからない場合は、null
を返します public static UIComponent getCurrentComponent(FacesContext context)
現在処理中の UIComponent
インスタンスを返します。これは、Jakarta Expression Language 式 "#{component}
" を評価し、結果の ValueExpression
に対して getValue
操作を実行することと同じです。
現在処理中の UIComponent
がない場合、このメソッドは null
を返す必要があります
context
- FacesContext
(処理中のリクエスト)null
NullPointerExceptionSE
- context
が null
の場合 public static UIComponent getCurrentCompositeComponent(FacesContext context)
複合コンポーネントである getCurrentComponent(jakarta.faces.context.FacesContext)
から返されたコンポーネントに相対的な最も近い祖先コンポーネントを返します。そのようなコンポーネントが存在しない場合は null
を返します。
context
- FacesContext
(処理中のリクエスト)null
。NullPointerExceptionSE
- context
が null
の場合 protected abstract void addFacesListener(FacesListener listener)
指定された FacesListener
を、この UIComponent
からイベント通知を受信するために登録されたリスナーのセットに追加します。イベントソースとして機能する UIComponent
クラスには、必要な型のリスナーを登録するための対応する型安全 API があり、それらの登録メソッドの実装はこのメソッドに委譲されることが予想されます。例:
public class FooEvent extends FacesEvent { ... } 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); } ... }
listener
- 登録する FacesListener
NullPointerExceptionSE
- listener
が null
の場合 protected abstract FacesListener[] getFacesListeners(ClassSE clazz)
指定されたクラスのインスタンスである登録された FacesListener
の配列を返します。そのような登録されたリスナーがない場合、長さ 0 の配列が返されます。返された配列は、要素型 clazz
に強く型付けされた配列に安全にキャストできます。
clazz
- 返されるために FacesListener
によって実装される必要があるクラス IllegalArgumentExceptionSE
- class
が FacesListener
ではなく、実装していない場合 NullPointerExceptionSE
- clazz
が null
の場合 protected abstract void removeFacesListener(FacesListener listener)
この UIComponent
からイベント通知を受信するために登録されたリスナーのセットから、指定された FacesListener
を削除します。
listener
- 登録解除する FacesListener
NullPointerExceptionSE
- listener
が null
の場合 public abstract void queueEvent(FacesEvent event)
現在のリクエスト処理ライフサイクルフェーズの最後に、ブロードキャストするイベントをキューに入れます。UIComponentBase
のデフォルト実装では、この呼び出しを親 UIComponent
の queueEvent()
メソッドに委譲する必要があります。
event
- キューに入れられる FacesEvent
IllegalStateExceptionSE
- このコンポーネントが UIViewRoot
の子孫でない場合 NullPointerExceptionSE
- event
が null
の場合 public void subscribeToEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
この実装は UnsupportedOperationException
をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。UIComponentBase
は、このメソッドの実装を提供します。
eventClass
- イベントクラス。componentListener
- リスナー。public void unsubscribeFromEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
この実装は UnsupportedOperationException
をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。UIComponentBase
は、このメソッドの実装を提供します。
eventClass
- イベントクラス。componentListener
- コンポーネントリスナー。public ListSE<SystemEventListener> getListenersForEventClass(ClassSE<? extends SystemEvent> eventClass)
この実装は UnsupportedOperationException
をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。UIComponentBase
は、このメソッドの実装を提供します。
SystemEventListenerHolder
の getListenersForEventClass
eventClass
- イベントクラス。public UIComponent getNamingContainer()
"this" 以降では、祖先の中で最も近いコンポーネント、つまり NamingContainer
または null
が見つからない場合はそれを返します。
null
。public abstract void processRestoreState(FacesContext context, ObjectSE state)
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのビューの復元フェーズで必要なコンポーネントツリー処理を実行します。
restoreState()
メソッドを呼び出します。pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出します。UIComponent
のすべてのファセットと子の processRestoreState()
メソッドを、getFacetsAndChildren()
の呼び出しによって決定された順序で呼び出します。子またはファセットの processRestoreState()
メソッドから戻った後、popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出します。状態保存メソッドがサーバーに設定されている場合、このメソッドは呼び出されない可能性があります。
context
- FacesContext
(処理中のリクエスト)state
- 状態。NullPointerExceptionSE
- context
が null
の場合 public abstract void processDecodes(FacesContext context)
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのリクエスト値の適用フェーズで必要なコンポーネントツリー処理を実行します。
UIComponent
の rendered
プロパティが false
の場合、以降の処理をスキップします。pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出します。UIComponent
のすべてのファセットと子の processDecodes()
メソッドを、getFacetsAndChildren()
への呼び出しによって決定された順序で呼び出します。decode()
メソッドを呼び出します。finally block, just before returning.
の内部から popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出す RuntimeException
がスローされた場合は、FacesContext.renderResponse()
を呼び出して例外を再スローします。context
- FacesContext
(処理中のリクエスト)NullPointerExceptionSE
- context
が null
の場合 public void processEvent(ComponentSystemEvent event) throws AbortProcessingException
デフォルトの実装では、次のアクションが実行されます。引数 event
が PostRestoreStateEvent
のインスタンスである場合、引用符なしでリテラル文字列 "binding" を引数として渡して this.
getValueExpression(java.lang.String)
を呼び出します。結果が非 null
の場合、ValueExpression
の値を this
に設定します。
ComponentSystemEventListener
の processEvent
event
- 処理中の ComponentSystemEvent
インスタンス。AbortProcessingException
- このリクエストでライフサイクル処理を停止するかどうか。public abstract void processValidators(FacesContext context)
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのプロセス検証フェーズで必要なコンポーネントツリー処理を実行します。
UIComponent
の rendered
プロパティが false
の場合、以降の処理をスキップします。pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出します。UIComponent
のすべてのファセットと子の processValidators()
メソッドを、getFacetsAndChildren()
への呼び出しによって決定された順序で呼び出します。getFacetsAndChildren()
の呼び出しから戻った後、popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出します。context
- FacesContext
(処理中のリクエスト)NullPointerExceptionSE
- context
が null
の場合 PreValidateEvent
, PostValidateEvent
public abstract void processUpdates(FacesContext context)
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのモデル値の更新フェーズで必要なコンポーネントツリー処理を実行します。
UIComponent
の rendered
プロパティが false
の場合、以降の処理をスキップします。pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出します。UIComponent
のすべてのファセットと子の processUpdates()
メソッドを、getFacetsAndChildren()
への呼び出しによって決定された順序で呼び出します。子またはファセットの processUpdates()
メソッドから戻った後、popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出します。context
- FacesContext
(処理中のリクエスト)NullPointerExceptionSE
- context
が null
の場合 public abstract ObjectSE processSaveState(FacesContext context)
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのレンダリングレスポンスフェーズの状態保存部分で必要なコンポーネントツリー処理を実行します。
transient
プロパティを参照してください。true の場合、null
を返します。pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出します。UIComponent
のすべてのファセットと子の processSaveState()
メソッドを、getFacetsAndChildren()
への呼び出しによって決定された順序で呼び出し、一時的な子とファセットをスキップします。各子またはファセットの後に popComponentFromEL(jakarta.faces.context.FacesContext)
が正しく呼び出されることを確認してください。saveState()
メソッドを呼び出します。状態保存メソッドがサーバーに設定されている場合、このメソッドは呼び出されない可能性があります。
context
- FacesContext
(処理中のリクエスト)NullPointerExceptionSE
- context
が null
の場合 protected abstract FacesContext getFacesContext()
現在のリクエストの FacesContext
インスタンスを返す便利なメソッド。
protected abstract Renderer getRenderer(FacesContext context)
このコンポーネントに関連付けられている Renderer
インスタンスがあれば、それを返す簡易メソッド。それ以外の場合は、null
を返します。
context
- 現在のリクエストの FacesContext
null
。@DeprecatedSE public abstract ValueBinding getValueBinding(StringSE name)
getValueExpression(java.lang.String)
に置き換えられました。getValueExpression(java.lang.String)
を呼び出し、結果を調べます。結果が setValueBinding(java.lang.String, jakarta.faces.el.ValueBinding)
で必須のラッパークラスのインスタンスである場合は、ValueBinding
インスタンスを抽出して返します。それ以外の場合は、結果を ValueBinding
の実装にラップして返します。
name
- ValueBinding
を取得する属性またはプロパティの名前 NullPointerExceptionSE
- name
が null
の場合 @DeprecatedSE public abstract void setValueBinding(StringSE name, ValueBinding binding)
setValueExpression(java.lang.String, jakarta.el.ValueExpression)
に置き換えられました。 引数 binding
を ValueExpression
の実装にラップし、setValueExpression(java.lang.String, jakarta.el.ValueExpression)
を呼び出します。
name
- ValueBinding
を設定する属性またはプロパティの名前 binding
- 設定する ValueBinding
、または現在設定されている ValueBinding
を削除する null
IllegalArgumentExceptionSE
- name
が id
または parent
のいずれかである場合 NullPointerExceptionSE
- name
が null
の場合 Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.