クラス 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 StringSEATTRS_WITH_DECLARED_DEFAULT_VALUESこの定数を使用すると、複合コンポーネントの作成者がデフォルト値を指定した宣言済みの複合コンポーネント属性の名前をすばやく見つけることができます。static StringSEBEANINFO_KEYこの定数の値は、コンポーネント属性マップのキーとして使用されます。その値は、複合コンポーネントを説明するjava.beans.BeanInfo実装です。protected MapSE<StringSE,ValueExpression>bindings使用すべきではありません。static StringSECOMPOSITE_COMPONENT_TYPE_KEYこの定数の値は、複合コンポーネントの作成者が宣言した場合、この複合コンポーネントの複合コンポーネントルートUIComponentのcomponent-typeに評価されるValueExpressionの複合コンポーネント BeanDescriptor のキーとして使用されます。static StringSECOMPOSITE_FACET_NAMEstatic StringSEFACETS_KEYこの定数の値は、この複合コンポーネントの宣言されたファセットのメタ情報を含むMap<PropertyDescriptor>の複合コンポーネント BeanDescriptor のキーとして使用されます。static StringSEVIEW_LOCATION_KEYこの定数の値は、このコンポーネントインスタンスが存在するビューのLocationのコンポーネント属性Mapのキーとして使用されます。
コンストラクターの概要
コンストラクター コンストラクター 説明 UIComponent()
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 protected abstract voidaddFacesListener(FacesListener listener)指定されたFacesListenerを、このUIComponentからイベント通知を受信するために登録されたリスナーのセットに追加します。abstract voidbroadcast(FacesEvent event)指定されたFacesEventを、この型のイベントに関心を示しているすべての登録済みイベントリスナーにブロードキャストします。voidclearInitialState()PartialStateHolder.clearInitialState()の実装であるこのメソッドは、状態の変化の追跡を停止するようインスタンスに指示するためにランタイムによって呼び出されます。abstract voiddecode(FacesContext context)指定されたFacesContextに含まれるリクエストからこのUIComponentの新しい状態をデコードし、必要に応じてこの状態を保存します。voidencodeAll(FacesContext context)このコンポーネントがisRendered()からtrueを返す場合は、次のアクションを実行します。abstract voidencodeBegin(FacesContext context)abstract voidencodeChildren(FacesContext context)abstract voidencodeEnd(FacesContext context)abstract UIComponentfindComponent(StringSE expr)abstract MapSE<StringSE,ObjectSE>getAttributes()このUIComponentに関連付けられた属性(およびプロパティ、以下を参照)を表す変更可能なMapを返します。属性名(文字列である必要があります)をキーにします。abstract intgetChildCount()このUIComponentに関連付けられている子UIComponentの数を返します。abstract ListSE<UIComponent>getChildren()StringSEgetClientId()Jakarta Expression Language がコンポーネントのclientIdにアクセスできるようにします。abstract StringSEgetClientId(FacesContext context)このコンポーネントのクライアント側識別子を返し、必要に応じて生成します。static UIComponentgetCompositeComponentParent(UIComponent component)指定されたコンポーネントの最も近い複合コンポーネントの親を検索します。StringSEgetContainerClientId(FacesContext context)NamingContainerを実装するコンポーネントが、先頭への追加ロジックを個別に呼び出し可能なメソッドに分割することで、子孫の clientIds への clientId の先頭への追加を選択的に無効にできるようにします。static UIComponentgetCurrentComponent(FacesContext context)現在処理中のUIComponentインスタンスを返します。static UIComponentgetCurrentCompositeComponent(FacesContext context)複合コンポーネントであるgetCurrentComponent(jakarta.faces.context.FacesContext)から返されたコンポーネントに相対的な最も近い祖先コンポーネントを返します。そのようなコンポーネントが存在しない場合はnullを返します。protected abstract FacesContextgetFacesContext()現在のリクエストのFacesContextインスタンスを返す便利なメソッド。protected abstract FacesListener[]getFacesListeners(ClassSE clazz)指定されたクラスのインスタンスである登録済みFacesListenerの配列を返します。abstract UIComponentgetFacet(StringSE name)名前付きファセットが存在する場合はそれを返すコンビニエンスメソッド、そうでない場合はnullintgetFacetCount()このUIComponentに関連付けられているファセットUIComponentの数を返します。abstract MapSE<StringSE,UIComponent>getFacets()abstract IteratorSE<UIComponent>getFacetsAndChildren()abstract StringSEgetFamily()このコンポーネントが属するコンポーネントファミリの識別子を返します。abstract StringSEgetId()このUIComponentのコンポーネント識別子を返します。ListSE<SystemEventListener>getListenersForEventClass(ClassSE<? extends SystemEvent> eventClass)この実装はUnsupportedOperationExceptionをスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。UIComponentgetNamingContainer()"this" 以降では、祖先の中で最も近いコンポーネント、つまりNamingContainerまたはnullが見つからない場合はそれを返します。abstract UIComponentgetParent()このUIComponentの親UIComponentを返します(存在する場合)。MapSE<StringSE,ObjectSE>getPassThroughAttributes()これは、getPassThroughAttributes(boolean)を単に呼び出し、引数としてtrueを渡す便利なメソッドです。MapSE<StringSE,ObjectSE>getPassThroughAttributes(boolean create)このメソッドの仕様はgetPassThroughAttributes()と同じですが、引数createがfalseであり、このインスタンスにパススルー属性データ構造が存在しない場合にのみ、nullを返すことができます。protected abstract RenderergetRenderer(FacesContext context)このコンポーネントに関連付けられているRendererインスタンスがあれば、それを返す簡易メソッド。それ以外の場合は、nullを返します。abstract StringSEgetRendererType()このUIComponentのRenderer型を返します(存在する場合)。abstract booleangetRendersChildren()このコンポーネントが子コンポーネントのレンダリングを担当するかどうかを示すフラグを返します。MapSE<StringSE,StringSE>getResourceBundleMap()このコンポーネントのResourceBundleのMap<String,String>を返します。protected StateHelpergetStateHelper()このコンポーネントがPartialStateHolderを実装するのに役立つStateHelperインスタンスを返します。protected StateHelpergetStateHelper(boolean create)TransientStateHelpergetTransientStateHelper()このUIComponentインスタンスのTransientStateHelperインスタンスを返します。TransientStateHelpergetTransientStateHelper(boolean create)このUIComponentインスタンスのTransientStateHelperインスタンスを返します。ValueExpressiongetValueExpression(StringSE name)指定された属性またはプロパティ名があれば、その値の計算に使用されるValueExpressionを返します。booleaninitialStateMarked()PartialStateHolder.initialStateMarked()の実装。このメソッドはランタイムによって呼び出され、PartialStateHolder.markInitialState()メソッドが呼び出されたかどうかをテストします。booleaninvokeOnComponent(FacesContext context, StringSE clientId, ContextCallback callback)ビュー階層のこのコンポーネントから開始して、引数clientIdと等しいclientIdを持つコンポーネントを検索し、見つかった場合は、引数callbackでContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)メソッドを呼び出し、現在のFacesContextと見つかったコンポーネントを引数として渡します。static booleanisCompositeComponent(UIComponent component)componentが複合コンポーネントの場合はtrueを返し、それ以外の場合はfalseを返します。booleanisInView()このコンポーネントがビュー階層内にある場合はtrueを返し、それ以外の場合はfalseを返しますabstract booleanisRendered()このコンポーネント(およびその子)をリクエスト処理ライフサイクルのレスポンスのレンダリングフェーズでレンダリングする必要がある場合は、trueを返します。protected booleanisVisitable(VisitContext context)このコンポーネントにアクセスする必要がある場合はtrueを返し、それ以外の場合はfalseを返します。voidmarkInitialState()PartialStateHolder.markInitialState()の実装。このメソッドはランタイムによって呼び出され、インスタンスが状態の変化の追跡を開始する必要があることを示します。voidpopComponentFromEL(FacesContext context)abstract voidprocessDecodes(FacesContext context)次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのリクエスト値の適用フェーズで必要なコンポーネントツリー処理を実行します。voidprocessEvent(ComponentSystemEvent event)デフォルトの実装では、次のアクションが実行されます。abstract voidprocessRestoreState(FacesContext context, ObjectSE state)次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのビューの復元フェーズで必要なコンポーネントツリー処理を実行します。abstract ObjectSEprocessSaveState(FacesContext context)次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのレンダリングレスポンスフェーズの状態保存部分で必要なコンポーネントツリー処理を実行します。abstract voidprocessUpdates(FacesContext context)次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのモデル値の更新フェーズで必要なコンポーネントツリー処理を実行します。abstract voidprocessValidators(FacesContext context)次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのプロセス検証フェーズで必要なコンポーネントツリー処理を実行します。voidpushComponentToEL(FacesContext context, UIComponent component)現在のUIComponentthisをFacesContext属性マップにプッシュし、後続のpopComponentFromEL(jakarta.faces.context.FacesContext)呼び出しのために以前のUIComponentを保存します。abstract voidqueueEvent(FacesEvent event)現在のリクエスト処理ライフサイクルフェーズの最後で、ブロードキャストするイベントをキューに入れます。protected abstract voidremoveFacesListener(FacesListener listener)このUIComponentからイベント通知を受信するために登録されたリスナーのセットから、指定されたFacesListenerを削除します。voidrestoreTransientState(FacesContext context, ObjectSE state)一時的な状態の概念をサポートする必要があるコンポーネントの場合、このメソッドは、saveTransientState(jakarta.faces.context.FacesContext)への以前の呼び出しで保存された状態を復元します。ObjectSEsaveTransientState(FacesContext context)一時的な状態の概念をサポートする必要があるコンポーネントの場合、このメソッドは、本質的に一時的であることがわかっているすべての状態を保存します。abstract voidsetId(StringSE id)このUIComponentのコンポーネント ID(存在する場合)を設定します。voidsetInView(boolean isInView)このコンポーネントが現在ビュー階層内にあるかどうかに関するステータスを更新します。abstract voidsetParent(UIComponent parent)このUIComponentの親UIComponentを設定します。abstract voidsetRendered(boolean rendered)このUIComponentのrenderedプロパティを設定します。abstract voidsetRendererType(StringSE rendererType)voidsetValueExpression(StringSE name, ValueExpression binding)指定された属性またはプロパティ名がある場合は、その値の計算に使用されるValueExpressionを設定します。voidsubscribeToEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)この実装はUnsupportedOperationExceptionをスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。voidunsubscribeFromEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)この実装はUnsupportedOperationExceptionをスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。booleanvisitTree(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- 現在のリクエストのFacesContextclientId- 引数コールバックに渡されるコンポーネントのクライアント識別子。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- この訪問のVisitContextcallback- 訪問したノードごとに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)
現在の
UIComponentthisをFacesContext属性マップにプッシュし、後続のpopComponentFromEL(jakarta.faces.context.FacesContext)呼び出しのために以前のUIComponentを保存します。このメソッドと
popComponentFromEL()は、Jakarta Expression Language Expression "#{component}" がライフサイクルで処理されている「現在の」コンポーネントに解決できるようにする契約の基礎を形成します。pushComponentToEL()およびpopComponentFromEL()を呼び出す必要がある場合の要件は、このクラスの javadoc で必要に応じて指定されます。pushComponentToEL()が戻った後、getCurrentComponent(jakarta.faces.context.FacesContext)を呼び出すと、popComponentFromEL()が呼び出されるまでthisUIComponentインスタンスを返す必要があります。呼び出されると、前のUIComponentインスタンスがgetCurrentComponent()から返されます。- パラメーター:
context- 現在のリクエストのFacesContextcomponent- 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。