クラス UIComponent
- java.lang.ObjectSE
-
- jakarta.faces.component.UIComponent
- 実装されたすべてのインターフェース:
PartialStateHolder
、StateHolder
、TransientStateHolder
、ComponentSystemEventListener
、FacesListener
、SystemEventListenerHolder
、EventListenerSE
- 既知の直属サブクラス
UIComponentBase
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
この定数の値は、コンポーネント属性マップのキーとして使用されます。その値は、複合コンポーネントを説明するjava.beans.BeanInfo
実装です。protected MapSE<StringSE,ValueExpression>
bindings
使用すべきではありません。static StringSE
COMPOSITE_COMPONENT_TYPE_KEY
この定数の値は、複合コンポーネントの作成者が宣言した場合、この複合コンポーネントの複合コンポーネントルートUIComponent
のcomponent-type
に評価されるValueExpression
の複合コンポーネント BeanDescriptor のキーとして使用されます。static StringSE
COMPOSITE_FACET_NAME
static StringSE
FACETS_KEY
この定数の値は、この複合コンポーネントの宣言されたファセットのメタ情報を含むMap<PropertyDescriptor>
の複合コンポーネント BeanDescriptor のキーとして使用されます。static StringSE
VIEW_LOCATION_KEY
この定数の値は、このコンポーネントインスタンスが存在するビューのLocation
のコンポーネント属性Map
のキーとして使用されます。
コンストラクターのサマリー
コンストラクター コンストラクター 説明 UIComponent()
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 protected abstract void
addFacesListener(FacesListener listener)
指定されたFacesListener
を、このUIComponent
からイベント通知を受信するために登録されたリスナーのセットに追加します。abstract void
broadcast(FacesEvent event)
指定されたFacesEvent
を、この型のイベントに関心を示しているすべての登録済みイベントリスナーにブロードキャストします。void
clearInitialState()
PartialStateHolder.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 がコンポーネントのclientId
にアクセスできるようにします。abstract StringSE
getClientId(FacesContext context)
このコンポーネントのクライアント側識別子を返し、必要に応じて生成します。static UIComponent
getCompositeComponentParent(UIComponent component)
指定されたコンポーネントの最も近い複合コンポーネントの親を検索します。StringSE
getContainerClientId(FacesContext context)
NamingContainer
を実装するコンポーネントが、先頭への追加ロジックを個別に呼び出し可能なメソッドに分割することで、子孫の clientIds への clientId の先頭への追加を選択的に無効にできるようにします。static UIComponent
getCurrentComponent(FacesContext context)
現在処理中のUIComponent
インスタンスを返します。static UIComponent
getCurrentCompositeComponent(FacesContext context)
複合コンポーネントであるgetCurrentComponent(jakarta.faces.context.FacesContext)
から返されたコンポーネントに相対的な最も近い祖先コンポーネントを返します。そのようなコンポーネントが存在しない場合はnull
を返します。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)
この実装はUnsupportedOperationException
をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。UIComponent
getNamingContainer()
"this" 以降では、祖先の中で最も近いコンポーネント、つまりNamingContainer
またはnull
が見つからない場合はそれを返します。abstract UIComponent
getParent()
このUIComponent
の親UIComponent
を返します(存在する場合)。MapSE<StringSE,ObjectSE>
getPassThroughAttributes()
これは、getPassThroughAttributes(boolean)
を単に呼び出し、引数としてtrue
を渡す便利なメソッドです。MapSE<StringSE,ObjectSE>
getPassThroughAttributes(boolean create)
このメソッドの仕様はgetPassThroughAttributes()
と同じですが、引数create
がfalse
であり、このインスタンスにパススルー属性データ構造が存在しない場合にのみ、null
を返すことができます。protected abstract Renderer
getRenderer(FacesContext context)
このコンポーネントに関連付けられているRenderer
インスタンスがあれば、それを返す簡易メソッド。それ以外の場合は、null
を返します。abstract StringSE
getRendererType()
このUIComponent
のRenderer
型を返します(存在する場合)。abstract boolean
getRendersChildren()
このコンポーネントが子コンポーネントのレンダリングを担当するかどうかを示すフラグを返します。MapSE<StringSE,StringSE>
getResourceBundleMap()
このコンポーネントのResourceBundle
のMap<String,String>
を返します。protected StateHelper
getStateHelper()
このコンポーネントがPartialStateHolder
を実装するのに役立つStateHelper
インスタンスを返します。protected StateHelper
getStateHelper(boolean create)
TransientStateHelper
getTransientStateHelper()
このUIComponent
インスタンスのTransientStateHelper
インスタンスを返します。TransientStateHelper
getTransientStateHelper(boolean create)
このUIComponent
インスタンスのTransientStateHelper
インスタンスを返します。ValueExpression
getValueExpression(StringSE name)
指定された属性またはプロパティ名があれば、その値の計算に使用されるValueExpression
を返します。boolean
initialStateMarked()
PartialStateHolder.initialStateMarked()
の実装。このメソッドはランタイムによって呼び出され、PartialStateHolder.markInitialState()
メソッドが呼び出されたかどうかをテストします。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)
component
が複合コンポーネントの場合はtrue
を返し、それ以外の場合はfalse
を返します。boolean
isInView()
このコンポーネントがビュー階層内にある場合はtrue
を返し、それ以外の場合はfalse
を返しますabstract boolean
isRendered()
このコンポーネント(およびその子)をリクエスト処理ライフサイクルのレスポンスのレンダリングフェーズでレンダリングする必要がある場合は、true
を返します。protected boolean
isVisitable(VisitContext context)
このコンポーネントにアクセスする必要がある場合はtrue
を返し、それ以外の場合はfalse
を返します。void
markInitialState()
PartialStateHolder.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)
現在のUIComponent
this
をFacesContext
属性マップにプッシュし、後続のpopComponentFromEL(jakarta.faces.context.FacesContext)
呼び出しのために以前のUIComponent
を保存します。abstract void
queueEvent(FacesEvent event)
現在のリクエスト処理ライフサイクルフェーズの最後で、ブロードキャストするイベントをキューに入れます。protected abstract void
removeFacesListener(FacesListener listener)
このUIComponent
からイベント通知を受信するために登録されたリスナーのセットから、指定されたFacesListener
を削除します。void
restoreTransientState(FacesContext context, ObjectSE state)
一時的な状態の概念をサポートする必要があるコンポーネントの場合、このメソッドは、saveTransientState(jakarta.faces.context.FacesContext)
への以前の呼び出しで保存された状態を復元します。ObjectSE
saveTransientState(FacesContext context)
一時的な状態の概念をサポートする必要があるコンポーネントの場合、このメソッドは、本質的に一時的であることがわかっているすべての状態を保存します。abstract void
setId(StringSE id)
このUIComponent
のコンポーネント ID(存在する場合)を設定します。void
setInView(boolean isInView)
このコンポーネントが現在ビュー階層内にあるかどうかに関するステータスを更新します。abstract void
setParent(UIComponent parent)
このUIComponent
の親UIComponent
を設定します。abstract void
setRendered(boolean rendered)
このUIComponent
のrendered
プロパティを設定します。abstract void
setRendererType(StringSE rendererType)
void
setValueExpression(StringSE name, ValueExpression binding)
指定された属性またはプロパティ名がある場合は、その値の計算に使用されるValueExpression
を設定します。void
subscribeToEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
この実装はUnsupportedOperationException
をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。void
unsubscribeFromEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
この実装はUnsupportedOperationException
をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。boolean
visitTree(VisitContext visitContext, VisitCallback callback)
ツリー内のこのノードからツリー訪問を実行します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース jakarta.faces.component.StateHolder から継承されたメソッド
isTransient, restoreState, saveState, setTransient
フィールドの詳細
BEANINFO_KEY
public static final StringSE BEANINFO_KEY
この定数の値は、コンポーネント属性マップのキーとして使用されます。その値は、複合コンポーネントを説明する
java.beans.BeanInfo
実装です。このBeanInfo
は、複合コンポーネント BeanInfo と呼ばれます。- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
FACETS_KEY
public static final StringSE FACETS_KEY
この定数の値は、この複合コンポーネントの宣言されたファセットのメタ情報を含む
Map<PropertyDescriptor>
の複合コンポーネント BeanDescriptor のキーとして使用されます。このマップには、ファセットが明示的に宣言されていなくても、キーCOMPOSITE_FACET_NAME
にエントリが含まれている必要があります。COMPOSITE_FACET_NAME
を参照してください。- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
VIEW_LOCATION_KEY
public static final StringSE VIEW_LOCATION_KEY
この定数の値は、このコンポーネントインスタンスが存在するビューの
Location
のコンポーネント属性Map
のキーとして使用されます。- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
COMPOSITE_COMPONENT_TYPE_KEY
public static final StringSE COMPOSITE_COMPONENT_TYPE_KEY
この定数の値は、複合コンポーネントの作成者が宣言した場合、この複合コンポーネントの複合コンポーネントルート
UIComponent
のcomponent-type
に評価されるValueExpression
の複合コンポーネント BeanDescriptor のキーとして使用されます。- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
COMPOSITE_FACET_NAME
public static final StringSE COMPOSITE_FACET_NAME
この定数の値は、複合コンポーネントファセットを説明する
PropertyDescriptor
のFACETS_KEY
に従って、返されるMap
のキーとして使用されます。この定数の値は、getFacets()
から返されるMap
のキーとしても使用されます。この場合は、複合コンポーネント VDL ファイルの<composite:implementation>
セクションにあるすべてのコンポーネントの親であるUIPanel
である実際のファセットを指します。- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
ATTRS_WITH_DECLARED_DEFAULT_VALUES
public static final StringSE ATTRS_WITH_DECLARED_DEFAULT_VALUES
この定数を使用すると、複合コンポーネントの作成者がデフォルト値を指定した宣言済みの複合コンポーネント属性の名前をすばやく見つけることができます。この定数が引数として渡されると、複合コンポーネント BeanDescriptor の
getValue()
メソッドから返されるCollection<String>
として情報が公開されます。- 導入:
- 2.1
- 関連事項:
- 定数フィールド値
bindings
@DeprecatedSE protected MapSE<StringSE,ValueExpression> bindings
使用すべきではありません。
メソッドの詳細
getAttributes
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
をスローします。
- 戻り値:
- コンポーネント属性マップ。
getPassThroughAttributes
public MapSE<StringSE,ObjectSE> getPassThroughAttributes()
これは、
getPassThroughAttributes(boolean)
を単に呼び出し、引数としてtrue
を渡す便利なメソッドです。このメソッドはnull
を返してはなりません。- 戻り値:
- パススルー属性マップ。
- 導入:
- 2.2
getPassThroughAttributes
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
。- 導入:
- 2.2
getValueExpression
public ValueExpression getValueExpression(StringSE name)
指定された属性またはプロパティ名があれば、その値の計算に使用される
ValueExpression
を返します。このメソッドは、Jakarta Faces 1.2 以降に準拠するコンポーネントに対してオーバーライドおよび実装する必要があります。
- パラメーター:
name
-ValueExpression
を取得する属性またはプロパティの名前- 戻り値:
- 値式、または
null
。 - 例外:
NullPointerExceptionSE
-name
がnull
の場合- 導入:
- 1.2
setValueExpression
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 Faces 1.2 以降に準拠するコンポーネントに対してオーバーライドおよび実装する必要があります。
- パラメーター:
name
-ValueExpression
を設定する属性またはプロパティの名前binding
- 設定するValueExpression
、または現在設定されているValueExpression
を削除するnull
- 例外:
IllegalArgumentExceptionSE
-name
がid
またはparent
のいずれかである場合NullPointerExceptionSE
-name
がnull
の場合- 導入:
- 1.2
markInitialState
public void markInitialState()
PartialStateHolder.markInitialState()
の実装。このメソッドはランタイムによって呼び出され、インスタンスが状態の変化の追跡を開始する必要があることを示します。- 次で指定:
- インターフェース
PartialStateHolder
のmarkInitialState
- 導入:
- 2.0
initialStateMarked
public boolean initialStateMarked()
PartialStateHolder.initialStateMarked()
の実装。このメソッドはランタイムによって呼び出され、PartialStateHolder.markInitialState()
メソッドが呼び出されたかどうかをテストします。- 次で指定:
- インターフェース
PartialStateHolder
のinitialStateMarked
- 戻り値:
- 初期状態がマークされている場合は
true
、それ以外の場合はfalse
。 - 導入:
- 2.0
clearInitialState
public void clearInitialState()
PartialStateHolder.clearInitialState()
の実装であるこのメソッドは、状態の変化の追跡を停止するようインスタンスに指示するためにランタイムによって呼び出されます。- 次で指定:
- インターフェース
PartialStateHolder
のclearInitialState
- 導入:
- 2.0
getStateHelper
protected StateHelper getStateHelper()
このコンポーネントが
PartialStateHolder
を実装するのに役立つStateHelper
インスタンスを返します。- 戻り値:
- 状態ヘルパー。
- 導入:
- 2.0
getStateHelper
protected StateHelper getStateHelper(boolean create)
getStateHelper()
と同様ですが、引数creat
がtrue
の場合にのみ状態ヘルパーインスタンスを作成します。- パラメーター:
create
-true
の場合、新しいStateHelper
インスタンスがまだ存在していなければ作成されます。false
で、既存のStateHelper
インスタンスがない場合、インスタンスは作成されず、null
が返されます。- 戻り値:
- 状態ヘルパー。
- 導入:
- 2.0
getTransientStateHelper
public TransientStateHelper getTransientStateHelper()
この
UIComponent
インスタンスのTransientStateHelper
インスタンスを返します。デフォルトの実装では、true
を引数として渡してgetTransientStateHelper(boolean)
を呼び出すだけです。- 戻り値:
- 過渡状態ヘルパー。
- 導入:
- 2.1
getTransientStateHelper
public TransientStateHelper getTransientStateHelper(boolean create)
この
UIComponent
インスタンスのTransientStateHelper
インスタンスを返します。- パラメーター:
create
-true
が必要に応じて内部データ構造を作成する場合。false
の場合は、インスタンスを作成しないでください。この場合、このメソッドがnull
を返す可能性があります。- 戻り値:
- 過渡状態ヘルパー。
- 導入:
- 2.1
restoreTransientState
public void restoreTransientState(FacesContext context, ObjectSE state)
一時的な状態の概念をサポートする必要があるコンポーネントの場合、このメソッドは、
saveTransientState(jakarta.faces.context.FacesContext)
への以前の呼び出しで保存された状態を復元します。- 次で指定:
- インターフェース
TransientStateHolder
のrestoreTransientState
- パラメーター:
context
- Faces コンテキストstate
- 一時的な値を含むオブジェクト- 導入:
- 2.1
saveTransientState
public ObjectSE saveTransientState(FacesContext context)
一時的な状態の概念をサポートする必要があるコンポーネントの場合、このメソッドは、本質的に一時的であることがわかっているすべての状態を保存します。
- 次で指定:
- インターフェース
TransientStateHolder
のsaveTransientState
- パラメーター:
context
- Faces コンテキスト。- 戻り値:
- 一時的な値を含むオブジェクト
- 導入:
- 2.1
isInView
public boolean isInView()
このコンポーネントがビュー階層内にある場合は
true
を返し、それ以外の場合はfalse
を返します- 戻り値:
- ビュー階層内の場合は
true
、それ以外の場合はfalse
。 - 導入:
- 2.0
setInView
public void setInView(boolean isInView)
このコンポーネントが現在ビュー階層内にあるかどうかに関するステータスを更新します。このメソッドは、開発者が決して呼び出さないでください。
UIComponent
の内部実装は、親の子List
またはファセットMap
にコンポーネントが追加または削除されると、それを呼び出します。- パラメーター:
isInView
- このコンポーネントがビュー階層内にあるかどうかを示すフラグ- 導入:
- 2.0
getClientId
public StringSE getClientId()
Jakarta Expression Language がコンポーネントの
clientId
にアクセスできるようにします。これは、component
およびcc
暗黙オブジェクトと組み合わせると特に便利です。単にFacesContext.getCurrentInstance()
を呼び出してからgetClientId(FacesContext)
を呼び出すデフォルトの実装が提供されています。- 戻り値:
- クライアント ID。
- 導入:
- 2.0
getClientId
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
- 戻り値:
- クライアント ID。
- 例外:
NullPointerExceptionSE
-context
がnull
の場合
getContainerClientId
public StringSE getContainerClientId(FacesContext context)
NamingContainer
を実装するコンポーネントが、先頭への追加ロジックを別々に呼び出し可能なメソッドに分割することで、子孫の clientIds への clientId の先頭への追加を選択的に無効にできるようにします。使用方法については、getClientId()
を参照してください。デフォルトでは、このメソッドは
getClientId()
を呼び出し、結果を返します。- パラメーター:
context
- Faces コンテキスト。- 戻り値:
- コンテナーのクライアント ID。
- 例外:
NullPointerExceptionSE
-context
がnull
の場合- 導入:
- 1.2
getFamily
public abstract StringSE getFamily()
このコンポーネントが属するコンポーネントファミリの識別子を返します。この識別子は、
rendererType
プロパティの値と組み合わせて、このコンポーネントインスタンスに適切なRenderer
を選択するために使用できます。このメソッドはnull
を返すべきではないことに注意してください- 戻り値:
- コンポーネントファミリ(null 以外)。
getId
public abstract StringSE getId()
この
UIComponent
のコンポーネント識別子を返します。- 戻り値:
- コンポーネント識別子。
setId
public abstract void setId(StringSE id)
この
UIComponent
のコンポーネント ID(存在する場合)を設定します。コンポーネント識別子は、次の構文制限に従う必要があります。- 長さがゼロの文字列であってはなりません。
- 最初の文字は文字またはアンダースコア('_' )でなければなりません。
- 後続の文字は、文字、数字、アンダースコア('_' )、ダッシュ('-')でなければなりません。
コンポーネント識別子は、次のセマンティック制限にも従う必要があります(この制限は
setId()
実装によって強制されないことに注意してください)。- 指定された識別子は、
NamingContainer
である最も近い祖先UIComponent
の子孫であるすべてのコンポーネント(ファセットを含む)間で一意であるか、NamingContainer
であるそのような祖先がない場合はコンポーネントツリー全体のスコープ内で一意である必要があります。
- パラメーター:
id
- 新しいコンポーネント識別子、またはこのUIComponent
にコンポーネント識別子がないことを示すnull
- 例外:
IllegalArgumentExceptionSE
-id
が構文的に有効でない場合
getParent
public abstract UIComponent getParent()
この
UIComponent
の親UIComponent
があれば、それを返します。子コンポーネントがgetParent( )
から null を返す場合でも、コンポーネントは、子コンポーネントをこのコンポーネントの子のリストに追加および削除できるようにする必要があります。- 戻り値:
- 親コンポーネント。
setParent
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
isRendered
public abstract boolean isRendered()
このコンポーネント(およびその子)をリクエスト処理ライフサイクルのレスポンスのレンダリングフェーズでレンダリングする必要がある場合は、
true
を返します。- 戻り値:
- コンポーネントをレンダリングする必要がある場合は
true
、それ以外の場合はfalse
。
setRendered
public abstract void setRendered(boolean rendered)
この
UIComponent
のrendered
プロパティを設定します。- パラメーター:
rendered
-true
がこのコンポーネントをレンダリングする場合。それ以外の場合は、このコンポーネントをレンダリングしないでください
getRendererType
public abstract StringSE getRendererType()
この
UIComponent
のRenderer
型を返します(存在する場合)。- 戻り値:
- レンダラーの型。
setRendererType
public abstract void setRendererType(StringSE rendererType)
この
UIComponent
のRenderer
型、またはそれ自体をレンダリングするコンポーネントのnull
を設定します。- パラメーター:
rendererType
- 使用するRenderer
の型の論理識別子、またはそれ自体をレンダリングするコンポーネントのnull
getRendersChildren
public abstract boolean getRendersChildren()
このコンポーネントが子コンポーネントのレンダリングを担当するかどうかを示すフラグを返します。
UIComponentBase.getRendersChildren()
のデフォルト実装は、このコンポーネントのレンダラーを見つけようとします。存在する場合は、Renderer.getRendersChildren()
を呼び出して結果を返します。そうでない場合は、false を返します。Jakarta Faces Specification のバージョン 1.2 以降、コンポーネントの作成者は、このメソッドからtrue
を返し、UIComponentBase.encodeChildren(jakarta.faces.context.FacesContext)
に依存することをお勧めします。- 戻り値:
- コンポーネントが子をレンダリングする場合は
true
、それ以外の場合はfalse
。
getResourceBundleMap
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)
を呼び出します。createResource
に実装されているローカライゼーション機能により、これによりResourceBundle
のローカライゼーションが自動的に可能になります。この機能は、Jakarta Faces Specification Document のセクション 2.6.1.3「リソース識別子」で指定されています。結果として得られるResource
が存在し、それが見つかる場合は、リソースのInputStream
を使用してResourceBundle
が作成されます。このコンポーネントのResourceBundle
を取得するための前の 2 つの手順のいずれかが成功した場合、ResourceBundle
はMap<String,String>
にラップされて返されます。それ以外の場合は、Collections.EMPTY_MAP
が返されます。- 戻り値:
- リソースバンドルマップ。
- 導入:
- 2.0
getChildren
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
以外のものを返します
- 戻り値:
- 子供のリスト。
getChildCount
public abstract int getChildCount()
この
UIComponent
に関連付けられている子UIComponent
の数を返します。子がない場合、このメソッドは 0 を返す必要があります。このメソッドが子コンポーネントリストの作成を引き起こしてはなりません。- 戻り値:
- 子コンポーネントの数。
findComponent
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
の場合
- 次のいずれかの条件が満たされるとすぐに停止して、検索のベースとなる
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
と見つかったコンポーネントを引数として渡します。このメソッドは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
にラップされて再スローされます。- 導入:
- 1.2
getFacets
public abstract MapSE<StringSE,UIComponent> getFacets()
この
UIComponent
に関連付けられたファセットUIComponent
を表す変更可能なMap
を返します。ファセット名(文字列である必要があります)をキーとします。返される実装は、すべての標準およびオプションのMap
メソッドをサポートする必要があり、さらに次の追加要件もサポートする必要があります。Map
実装はjava.io.Serializable
インターフェースを実装する必要があります。null
キーまたは値を追加しようとすると、NullPointerException がスローされます。- 文字列ではないキーを追加しようとすると、ClassCastException がスローされます。
UIComponent
以外の値を追加しようとすると、ClassCastException がスローされます。- 新しいファセット
UIComponent
が追加されるたびに:- コンポーネントの
parent
プロパティをこのコンポーネントインスタンスに設定する必要があります。 - コンポーネントの
parent
プロパティがすでに null 以外の場合、コンポーネントは最初に前の親(子またはファセットのいずれかであった可能性がある)から削除する必要があります。
- コンポーネントの
- 既存のファセット
UIComponent
が削除されるときはいつでも:- ファセットの
parent
プロパティはnull
に設定する必要があります。
- ファセットの
- 戻り値:
- ファセットのマップ。
getFacetCount
public int getFacetCount()
この
UIComponent
に関連付けられているファセットUIComponent
の数を返します。ファセットがない場合、このメソッドは 0 を返す必要があります。このメソッドにより、ファセットコンポーネントマップが作成されないようにする必要があります。UIComponent を直接拡張するクラスとの下位互換性のために、単に
getFacets()
を呼び出し、次に返されたMap
でsize()
メソッドを呼び出すデフォルト実装が提供されています。このメソッドのより最適化されたバージョンがUIComponentBase.getFacetCount()
で提供されています。- 戻り値:
- ファセットの数。
- 導入:
- 1.2
getFacet
public abstract UIComponent getFacet(StringSE name)
名前付きファセットが存在する場合はそれを返し、そうでない場合は
null
を返す簡易メソッド。リクエストされたファセットが存在しない場合は、ファセットマップを作成しないでください。- パラメーター:
name
- 目的のファセットの名前- 戻り値:
- コンポーネント、または
null
getFacetsAndChildren
public abstract IteratorSE<UIComponent> getFacetsAndChildren()
この
UIComponent
の子UIComponent
が後に続くファセットにIterator
を返します。ファセットは未定義の順序で返され、その後にすべての子が子リストに格納されている順序で返されます。このコンポーネントにファセットまたは子がない場合、空のIterator
が返されます。返される
Iterator
は、remove()
操作をサポートしてはなりません。- 戻り値:
- ファセットと子イテレータ。
broadcast
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 Faces 実装に、現在のイベントでこれ以上の処理を実行しないことを通知しますIllegalArgumentExceptionSE
- このFacesEvent
の実装クラスがこのコンポーネントでサポートされていない場合NullPointerExceptionSE
-event
がnull
の場合
decode
public abstract void decode(FacesContext context)
指定された
FacesContext
に含まれるリクエストからこのUIComponent
の新しい状態をデコードし、必要に応じてこの状態を保存します。デコード中、
queueEvent()
を呼び出すことにより、(インタレストを登録したイベントリスナーによる)後の処理のためにイベントをキューに入れることができます。- パラメーター:
context
-FacesContext
(処理中のリクエスト)- 例外:
NullPointerExceptionSE
-context
がnull
の場合
visitTree
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
を返し、ツリーの訪問が完了したことを示す場合があります(訪問する必要のあるすべてのコンポーネントが訪問されたなど)。これにより、ツリーへのアクセスが短絡され、アクセスされるコンポーネントがなくなります。 - 導入:
- 2.0
- 関連事項:
VisitContext.invokeVisitCallback()
isVisitable
protected boolean isVisitable(VisitContext context)
このコンポーネントにアクセスする必要がある場合は
true
を返し、それ以外の場合はfalse
を返します。UIComponent.visitTree()
によって呼び出され、このコンポーネントがVisitContext.getHints()
によって返されたヒントを満たすかどうかを判断します。このメソッドが false を返す場合、アクセスされたツリーは短絡され、コンポーネントもその子孫も訪問されません。
カスタム
visitTree()
実装は、このメソッドを呼び出して、訪問関連の処理を実行する前にコンポーネントがアクセス可能かどうかを判断できます。- パラメーター:
context
- 訪問コンテキスト。- 戻り値:
- 訪問可能であれば
true
、そうでなければfalse
。 - 導入:
- 2.0
encodeBegin
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
の場合
encodeChildren
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
の場合
encodeEnd
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
の場合
encodeAll
public void encodeAll(FacesContext context) throws IOExceptionSE
このコンポーネントが
isRendered()
からtrue
を返す場合は、次のアクションを実行します。getRendersChildren()
フラグの値に関係なく、isRendered()
からtrue
を返すこのコンポーネントとそのすべての子をレンダリングします。- パラメーター:
context
- Faces コンテキスト。- 例外:
IOExceptionSE
- レンダリング中に入出力エラーが発生した場合NullPointerExceptionSE
-context
がnull
の場合- 導入:
- 1.2
pushComponentToEL
public void pushComponentToEL(FacesContext context, UIComponent component)
現在の
UIComponent
this
をFacesContext
属性マップにプッシュし、後続のpopComponentFromEL(jakarta.faces.context.FacesContext)
呼び出しのために以前の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
の場合- 導入:
- 2.0
- 関連事項:
FacesContext.getAttributes()
popComponentFromEL
public void popComponentFromEL(FacesContext context)
FacesContext
属性マップから現在のUIComponent
をポップして、前のUIComponent
があればそれが現在のコンポーネントになるようにします。- パラメーター:
context
- 現在のリクエストのFacesContext
- 例外:
NullPointerExceptionSE
-context
がnull
の場合- 導入:
- 2.0
- 関連事項:
FacesContext.getAttributes()
isCompositeComponent
public static boolean isCompositeComponent(UIComponent component)
component
が複合コンポーネントの場合はtrue
を返し、それ以外の場合はfalse
を返します。- パラメーター:
component
- テストするUIComponent
- 戻り値:
- これが複合コンポーネントの場合は
true
、それ以外の場合はfalse
。 - 例外:
NullPointerExceptionSE
-component
がnull
の場合- 導入:
- 2.0
getCompositeComponentParent
public static UIComponent getCompositeComponentParent(UIComponent component)
指定されたコンポーネントの最も近い複合コンポーネントの親を検索します。
- パラメーター:
component
- 検索を開始するコンポーネント- 戻り値:
component
がnull
の場合、null
を返します。それ以外の場合は、コンポーネントの親階層を検索して、最も近い親複合コンポーネントを探します。親複合コンポーネントが見つからない場合は、null
を返します- 導入:
- 2.0
getCurrentComponent
public static UIComponent getCurrentComponent(FacesContext context)
現在処理中の
UIComponent
インスタンスを返します。これは、Jakarta Expression Language 式 "#{component}
" を評価し、結果のValueExpression
に対してgetValue
操作を実行することと同じです。現在処理中の
UIComponent
がない場合、このメソッドはnull
を返す必要があります- パラメーター:
context
-FacesContext
(処理中のリクエスト)- 戻り値:
- 現在のコンポーネント、または
null
- 例外:
NullPointerExceptionSE
-context
がnull
の場合- 導入:
- 2.0
getCurrentCompositeComponent
public static UIComponent getCurrentCompositeComponent(FacesContext context)
複合コンポーネントである
getCurrentComponent(jakarta.faces.context.FacesContext)
から返されたコンポーネントに相対的な最も近い祖先コンポーネントを返します。そのようなコンポーネントが存在しない場合はnull
を返します。- パラメーター:
context
-FacesContext
(処理中のリクエスト)- 戻り値:
- 現在の複合コンポーネント、または
null
。 - 例外:
NullPointerExceptionSE
-context
がnull
の場合- 導入:
- 2.0
addFacesListener
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
の場合
getFacesListeners
protected abstract FacesListener[] getFacesListeners(ClassSE clazz)
指定されたクラスのインスタンスである登録された
FacesListener
の配列を返します。そのような登録されたリスナーがない場合、長さ 0 の配列が返されます。返された配列は、要素型clazz
に強く型付けされた配列に安全にキャストできます。- パラメーター:
clazz
- 返されるためにFacesListener
によって実装される必要があるクラス- 戻り値:
- Faces リスナー、または長さがゼロの配列。
- 例外:
IllegalArgumentExceptionSE
-class
がFacesListener
ではなく、実装していない場合NullPointerExceptionSE
-clazz
がnull
の場合
removeFacesListener
protected abstract void removeFacesListener(FacesListener listener)
この
UIComponent
からイベント通知を受信するために登録されたリスナーのセットから、指定されたFacesListener
を削除します。- パラメーター:
listener
- 登録解除するFacesListener
- 例外:
NullPointerExceptionSE
-listener
がnull
の場合
queueEvent
public abstract void queueEvent(FacesEvent event)
現在のリクエスト処理ライフサイクルフェーズの最後に、ブロードキャストするイベントをキューに入れます。
UIComponentBase
のデフォルト実装では、この呼び出しを親UIComponent
のqueueEvent()
メソッドに委譲する必要があります。- パラメーター:
event
- キューに入れられるFacesEvent
- 例外:
IllegalStateExceptionSE
- このコンポーネントがUIViewRoot
の子孫でない場合NullPointerExceptionSE
-event
がnull
の場合
subscribeToEvent
public void subscribeToEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
この実装は
UnsupportedOperationException
をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。UIComponentBase
は、このメソッドの実装を提供します。- パラメーター:
eventClass
- イベントクラス。componentListener
- リスナー。- 導入:
- 2.1
unsubscribeFromEvent
public void unsubscribeFromEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
この実装は
UnsupportedOperationException
をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。UIComponentBase
は、このメソッドの実装を提供します。- パラメーター:
eventClass
- イベントクラス。componentListener
- コンポーネントリスナー。- 導入:
- 2.1
getListenersForEventClass
public ListSE<SystemEventListener> getListenersForEventClass(ClassSE<? extends SystemEvent> eventClass)
この実装は
UnsupportedOperationException
をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。UIComponentBase
は、このメソッドの実装を提供します。- 次で指定:
- インターフェース
SystemEventListenerHolder
のgetListenersForEventClass
- パラメーター:
eventClass
- イベントクラス。- 戻り値:
- リスナーのリスト。決して
null
ではありません。 - 導入:
- 2.1
getNamingContainer
public UIComponent getNamingContainer()
"this" 以降では、祖先の中で最も近いコンポーネント、つまり
NamingContainer
またはnull
が見つからない場合はそれを返します。- 戻り値:
- 命名コンテナー、または
null
。 - 導入:
- 2.0
processRestoreState
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
の場合
- このコンポーネントの
processDecodes
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
の場合
- この
processEvent
public void processEvent(ComponentSystemEvent event) throws AbortProcessingException
デフォルトの実装では、次のアクションが実行されます。引数
event
がPostRestoreStateEvent
のインスタンスである場合、引用符なしでリテラル文字列 "binding" を引数として渡してthis.
getValueExpression(java.lang.String)
を呼び出します。結果が非 null
の場合、ValueExpression
の値をthis
に設定します。- 次で指定:
- インターフェース
ComponentSystemEventListener
のprocessEvent
- パラメーター:
event
- 処理中のComponentSystemEvent
インスタンス。- 例外:
AbortProcessingException
- このリクエストでライフサイクル処理を停止するかどうか。
processValidators
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
- この
processUpdates
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
の場合
- この
processSaveState
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()
メソッドを呼び出します。 - 子の状態とユーザーの状態を Serializable オブジェクトにカプセル化して返します。
状態保存メソッドがサーバーに設定されている場合、このメソッドは呼び出されない可能性があります。
- パラメーター:
context
-FacesContext
(処理中のリクエスト)- 戻り値:
- 保存された状態。
- 例外:
NullPointerExceptionSE
-context
がnull
の場合
- このコンポーネントの
getFacesContext
protected abstract FacesContext getFacesContext()
現在のリクエストの
FacesContext
インスタンスを返す便利なメソッド。- 戻り値:
- Faces コンテキスト。
getRenderer
protected abstract Renderer getRenderer(FacesContext context)
このコンポーネントに関連付けられている
Renderer
インスタンスがあれば、それを返す簡易メソッド。それ以外の場合は、null
を返します。- パラメーター:
context
- 現在のリクエストのFacesContext
- 戻り値:
- レンダラー、または
null
。