クラス Application
- java.lang.ObjectSE
-
- jakarta.faces.application.Application
- 既知の直属サブクラス
ApplicationWrapper
public abstract class Application extends ObjectSE
Application は Web アプリケーションごとのシングルトンオブジェクトを表し、Jakarta Faces(または拡張機能を提供したい実装)に基づくアプリケーションは、Jakarta Faces に必要な機能を提供するアプリケーション全体のシングルトンを登録できます。各オブジェクトのデフォルトの実装は、アプリケーションが動作をカスタマイズすることを選択しない場合のために提供されています。
Application
のインスタンスは、ApplicationFactory
のgetApplication()
メソッドを呼び出すことによって作成されます。このインスタンスは共有されているため、スレッドセーフな方法で実装する必要があります。アプリケーションは、Faces 構成ファイルで指定されたいくつかの型のオブジェクトのファクトリとしても機能します。
createComponent(java.lang.String)
、createConverter(java.lang.String)
、createValidator(java.lang.String)
を参照してください。
コンストラクターのサマリー
コンストラクター コンストラクター 説明 Application()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 void
addBehavior(StringSE behaviorId, StringSE behaviorClass)
対応するBehavior
クラスの名前に動作 ID の新しいマッピングを登録します。abstract void
addComponent(StringSE componentType, StringSE componentClass)
コンポーネント型の新しいマッピングを、対応するUIComponent
クラスの名前に登録します。abstract void
addConverter(ClassSE<?> targetClass, StringSE converterClass)
指定されたターゲットクラスの変換を実行できる新しいコンバータークラスを登録します。abstract void
addConverter(StringSE converterId, StringSE converterClass)
コンバーター ID の対応するConverter
クラスの名前への新しいマッピングを登録します。void
addDefaultValidatorId(StringSE validatorId)
ビュー内のすべてのUIInput
コンポーネントに適用される ID でバリデーターを登録します。void
addELContextListener(ELContextListener listener)
Faces アプリケーションがELContext
インスタンスの作成時に通知されるELContextListener
を登録する方法を提供します。void
addELResolver(ELResolver resolver)
Jakarta Faces Specification Document のセクション 5.3.2 "ELResolver" で指定されているように、引数resolver
がリゾルバーチェーンに追加されるようにします。void
addSearchKeywordResolver(SearchKeywordResolver resolver)
引数resolver
をリゾルバーチェーンの先頭に追加します。abstract void
addValidator(StringSE validatorId, StringSE validatorClass)
バリデーター ID の対応するValidator
クラスの名前への新しいマッピングを登録します。Behavior
createBehavior(StringSE behaviorId)
UIComponent
createComponent(ValueExpression componentExpression, FacesContext context, StringSE componentType)
UIComponent
createComponent(ValueExpression componentExpression, FacesContext context, StringSE componentType, StringSE rendererType)
返されるコンポーネントのRenderer
を除いてcreateComponent(ValueExpression, FacesContext, String)
と同じですが、そのメソッドのドキュメントで指定されているように、createComponent(ValueExpression, FacesContext, String)
でメンションされているアノテーションをインスペクションする必要があります。UIComponent
createComponent(FacesContext context, Resource componentResource)
UIComponent
createComponent(FacesContext context, StringSE componentType, StringSE rendererType)
返されるコンポーネントのRenderer
を除いてcreateComponent(String)
と同じですが、そのメソッドのドキュメントで指定されているように、createComponent(ValueExpression, FacesContext, String)
でメンションされているアノテーションをインスペクションする必要があります。abstract UIComponent
createComponent(StringSE componentType)
abstract Converter
createConverter(ClassSE<?> targetClass)
インスタンス化とは、指定された型のオブジェクトのための変換を行うことができるように自分自身を登録したクラスの新しいConverter
インスタンスを返します。abstract Converter
createConverter(StringSE converterId)
abstract Validator
createValidator(StringSE validatorId)
<T> T
evaluateExpressionGet(FacesContext context, StringSE expression, ClassSE<? extends T> expectedType)
式を評価して値を取得します。abstract ActionListener
getActionListener()
IteratorSE<StringSE>
getBehaviorIds()
このApplication
に現在登録されている一連の動作 ID に対してIterator
を返します。abstract IteratorSE<StringSE>
getComponentTypes()
このApplication
に対して現在定義されているコンポーネント型のセットに対してIterator
を返します。abstract IteratorSE<StringSE>
getConverterIds()
このApplication
の現在登録されているコンバーター ID のセットに対してIterator
を返します。abstract IteratorSE<ClassSE<?>>
getConverterTypes()
abstract LocaleSE
getDefaultLocale()
このアプリケーションのデフォルトのLocale
を返します。abstract StringSE
getDefaultRenderKitId()
このアプリケーションのレンダリングに使用するrenderKitId
を返します。MapSE<StringSE,StringSE>
getDefaultValidatorInfo()
現在登録されているデフォルトのバリデーター ID のセットとこのApplication
のクラス名に対して不変のMap
を返します。ELContextListener[]
getELContextListeners()
addELContextListener(jakarta.el.ELContextListener)
が呼び出されていない場合、このメソッドは空の配列を返す必要があります。ELResolver
getELResolver()
すべての Jakarta Expression Language 解決に使用されるシングルトンELResolver
インスタンスを返します。ExpressionFactory
getExpressionFactory()
このアプリケーションのExpressionFactory
インスタンスを返します。FlowHandler
getFlowHandler()
このアプリケーションのスレッドセーフシングルトンFlowHandler
を返します。abstract StringSE
getMessageBundle()
このアプリケーションの Jakarta Faces メッセージに使用されるResourceBundle
の完全修飾クラス名を返します。abstract NavigationHandler
getNavigationHandler()
この Web アプリケーションに対して呼び出されたアプリケーションアクションによって返される結果が渡されるNavigationHandler
インスタンスを返します。ProjectStage
getProjectStage()
現在実行中のアプリケーションインスタンスのプロジェクトステージを返します。ResourceBundleSE
getResourceBundle(FacesContext ctx, StringSE name)
指定された名前のアプリケーション構成リソースで定義されているResourceBundle
を見つけます。ResourceHandler
getResourceHandler()
このアプリケーションのシングルトン、ステートレス、スレッドセーフResourceHandler
を返します。SearchExpressionHandler
getSearchExpressionHandler()
このアプリケーションのスレッドセーフシングルトンSearchExpressionHandler
を返します。SearchKeywordResolver
getSearchKeywordResolver()
すべての検索キーワードの解決に使用されるシングルトンSearchKeywordResolver
インスタンスを返します。abstract StateManager
getStateManager()
リクエスト処理ライフサイクルのビューの復元フェーズとレスポンスのレンダリングフェーズで使用されるStateManager
インスタンスを返します。abstract IteratorSE<LocaleSE>
getSupportedLocales()
このアプリケーションでサポートされているLocale
を介してIterator
を返します。abstract IteratorSE<StringSE>
getValidatorIds()
このApplication
の現在登録されているバリデーター ID のセットに対してIterator
を返します。abstract ViewHandler
getViewHandler()
リクエスト処理ライフサイクルのビューの復元フェーズとレスポンスのレンダリングフェーズで使用されるViewHandler
インスタンスを返します。void
publishEvent(FacesContext context, ClassSE<? extends SystemEvent> systemEventClass, ClassSE<?> sourceBaseType, ObjectSE source)
このメソッドは、source
引数のClass
を使用する代わりに、ランタイムが引数sourceBaseType
を使用して一致するリスナーを検索する必要があることを除いて、publishEvent(FacesContext,Class,Object)
とまったく同じように機能します。void
publishEvent(FacesContext context, ClassSE<? extends SystemEvent> systemEventClass, ObjectSE source)
FacesContext.isProcessingEvents()
がtrue
であり、systemEventClass
で表される型のイベントのリスナーが 1 つ以上ある場合は、それらのリスナーを呼び出して、イベントのソースとしてsource
を渡します。void
removeELContextListener(ELContextListener listener)
ELContextListener
のリストから引数listener
を削除します。abstract void
setActionListener(ActionListener listener)
すべてのActionSource
コンポーネントに登録されるデフォルトのActionListener
を設定します。abstract void
setDefaultLocale(LocaleSE locale)
このアプリケーションのデフォルトLocale
を設定します。abstract void
setDefaultRenderKitId(StringSE renderKitId)
このアプリケーションのレンダリングに使用するrenderKitId
を設定します。void
setFlowHandler(FlowHandler newHandler)
NavigationHandler
が使用するFlowHandler
インスタンスを設定して、面フロー機能の要件を満たします。abstract void
setMessageBundle(StringSE bundle)
このアプリケーションの Jakarta Faces メッセージに使用されるResourceBundle
の完全修飾クラス名を設定します。abstract void
setNavigationHandler(NavigationHandler handler)
この Web アプリケーションに対して呼び出されたアプリケーションアクションによって返される結果が渡されるNavigationHandler
インスタンスを設定します。void
setResourceHandler(ResourceHandler resourceHandler)
リソースのマークアップのレンダリング、およびリソースを提供するためのクライアントリクエストを満たすために使用されるResourceHandler
インスタンスを設定します。void
setSearchExpressionHandler(SearchExpressionHandler searchExpressionHandler)
アプリケーションが使用するSearchExpressionHandler
インスタンスを設定します。abstract void
setStateManager(StateManager manager)
リクエスト処理ライフサイクルのビューの復元フェーズとレスポンスのレンダリングフェーズで使用されるStateManager
インスタンスを設定します。abstract void
setSupportedLocales(CollectionSE<LocaleSE> locales)
このアプリケーションでサポートされるLocale
を表すLocale
インスタンスを設定します。abstract void
setViewHandler(ViewHandler handler)
リクエスト処理ライフサイクルのビューの復元フェーズとレスポンスのレンダリングフェーズで使用されるViewHandler
インスタンスを設定します。void
subscribeToEvent(ClassSE<? extends SystemEvent> systemEventClass, SystemEventListener listener)
引数listener
で参照されるリスナーインスタンスを、型systemEventClass
のイベントのリスナーとしてアプリケーションにインストールします。void
subscribeToEvent(ClassSE<? extends SystemEvent> systemEventClass, ClassSE<?> sourceClass, SystemEventListener listener)
引数listener
で参照されるリスナーインスタンスを、型sourceClass
のオブジェクトから発生する型systemEventClass
のイベントのリスナーとしてアプリケーションにインストールします。void
unsubscribeFromEvent(ClassSE<? extends SystemEvent> systemEventClass, SystemEventListener listener)
引数listener
によって参照されるリスナーインスタンスを、型systemEventClass
のイベントのリスナーとしてアプリケーションから削除します。void
unsubscribeFromEvent(ClassSE<? extends SystemEvent> systemEventClass, ClassSE<?> sourceClass, SystemEventListener listener)
sourceClass
型のオブジェクトから発生するsystemEventClass
型のイベントのリスナーとして、引数listener
で参照されるリスナーインスタンスをアプリケーションから削除します。
メソッドの詳細
getActionListener
public abstract ActionListener getActionListener()
このアプリケーションのすべての
ActionSource
コンポーネントに登録されるデフォルトのActionListener
を返します。明示的に設定されていない場合は、Jakarta Faces Specification Document の第 7 章「アプリケーション統合」のセクション 7.1.1「ActionListener プロパティ」で指定されている機能を実行するデフォルトの実装を提供する必要があります。デフォルトの
ActionListener
の仕様では、非推奨のプロパティ(action
)とクラス(MethodBinding
)の使用が必要になることに注意してください。残念ながら、デフォルトのActionListener
は、ActionSource2
を実装せず、ActionSource
のみを実装するコンポーネントで引き続き動作する必要があるため、これが必要です。- 戻り値:
- アクションリスナー。
setActionListener
public abstract void setActionListener(ActionListener listener)
すべての
ActionSource
コンポーネントに登録されるデフォルトのActionListener
を設定します。- パラメーター:
listener
- 新しいデフォルトのActionListener
- 例外:
NullPointerExceptionSE
-listener
がnull
の場合
getDefaultLocale
public abstract LocaleSE getDefaultLocale()
このアプリケーションのデフォルトの
Locale
を返します。明示的に設定されていない場合、null
が返されます。- 戻り値:
- デフォルトのロケール、または
null
。
setDefaultLocale
public abstract void setDefaultLocale(LocaleSE locale)
このアプリケーションのデフォルト
Locale
を設定します。- パラメーター:
locale
- 新しいデフォルトのLocale
- 例外:
NullPointerExceptionSE
-locale
がnull
の場合
getDefaultRenderKitId
public abstract StringSE getDefaultRenderKitId()
このアプリケーションのレンダリングに使用する
renderKitId
を返します。明示的に設定されていない場合、null
が返されます。- 戻り値:
- デフォルトのレンダリングキット ID、または
null
。
setDefaultRenderKitId
public abstract void setDefaultRenderKitId(StringSE renderKitId)
このアプリケーションのレンダリングに使用する
renderKitId
を設定します。クライアントが同じアプリケーションで複数のRenderKit
インスタンスの使用をサポートするカスタムViewHandler
を提供していない限り、このメソッドは、Faces リクエストが処理される前のアプリケーションの起動時にのみ呼び出す必要があります。これは現在の仕様の制限であり、将来のリリースで解除される可能性があります。- パラメーター:
renderKitId
- 設定するレンダリングキット ID。
getMessageBundle
public abstract StringSE getMessageBundle()
このアプリケーションの Jakarta Faces メッセージに使用される
ResourceBundle
の完全修飾クラス名を返します。明示的に設定されていない場合、null
が返されます。- 戻り値:
- メッセージバンドルクラス名、または
null
。
setMessageBundle
public abstract void setMessageBundle(StringSE bundle)
このアプリケーションの Jakarta Faces メッセージに使用される
ResourceBundle
の完全修飾クラス名を設定します。リソースバンドル名の構文の詳細については、java.util.ResourceBundle
クラスの JavaDocs を参照してください。- パラメーター:
bundle
- 使用するリソースバンドルのベース名- 例外:
NullPointerExceptionSE
-bundle
がnull
の場合
getNavigationHandler
public abstract NavigationHandler getNavigationHandler()
この Web アプリケーションに対して呼び出されたアプリケーションアクションによって返される結果が渡される
NavigationHandler
インスタンスを返します。明示的に設定しない場合は、NavigationHandler
クラスの説明で説明されている機能を実行するデフォルトの実装を提供する必要があります。NavigationHandler
実装は、<application>
要素内の<navigation-handler>
要素の値として完全修飾クラス名を指定することにより、アプリケーション構成リソースで宣言されます。
ランタイムは、Jakarta Faces の他のすべてのプラグ可能なアーティファクトと同様に、デコレータパターンを使用する必要があります。
- 戻り値:
- ナビゲーションハンドラー。
setNavigationHandler
public abstract void setNavigationHandler(NavigationHandler handler)
この Web アプリケーションに対して呼び出されたアプリケーションアクションによって返される結果が渡される
NavigationHandler
インスタンスを設定します。- パラメーター:
handler
- 新しいNavigationHandler
インスタンス- 例外:
NullPointerExceptionSE
-handler
がnull
の場合
getResourceHandler
public ResourceHandler getResourceHandler()
このアプリケーションのシングルトン、ステートレス、スレッドセーフの
ResourceHandler
を返します。Jakarta Faces 実装は、ResourceHandler
の代替実装を宣言するための次の手法をサポートする必要があります。ResourceHandler
実装は、<application>
要素内の<resource-handler>
要素の値として完全修飾クラス名を指定することにより、アプリケーション構成リソースで宣言されます。
上記のすべてのケースで、ランタイムは Jakarta Faces の他のすべてのプラガブルアーティファクトと同様に、デコレーターパターンを使用する必要があります。
.Application
を装飾するユーザーが機能を継続できるように、UnsupportedOperationException
をスローするデフォルトの実装が提供されています- 戻り値:
- リソースハンドラー。
- 導入:
- 2.0
setResourceHandler
public void setResourceHandler(ResourceHandler resourceHandler)
リソースのマークアップのレンダリング、およびリソースを提供するためのクライアントリクエストを満たすために使用される
ResourceHandler
インスタンスを設定します。- パラメーター:
resourceHandler
- 新しいResourceHandler
インスタンス- 例外:
IllegalStateExceptionSE
- このアプリケーションのLifecycle
インスタンスによって少なくとも 1 つのリクエストが処理された後にこのメソッドが呼び出された場合。NullPointerExceptionSE
-resourceHandler
がnull
の場合- 導入:
- 2.0
getResourceBundle
public ResourceBundleSE getResourceBundle(FacesContext ctx, StringSE name)
指定された名前のアプリケーション構成リソースで定義されている
ResourceBundle
を見つけます。名前にResourceBundle
が定義されている場合は、現在のUIViewRoot
のロケールを使用するインスタンスを返します。デフォルトの実装は
UnsupportedOperationException
をスローし、このクラスを継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。- パラメーター:
ctx
- Faces コンテキスト。name
- リソースバンドルの名前。- 戻り値:
- リソースバンドル。
- 例外:
FacesException
- バンドルが定義されているが解決できない場合NullPointerExceptionSE
- ctx == null の場合 | | 名前 == null- 導入:
- 1.2
getProjectStage
public ProjectStage getProjectStage()
現在実行中のアプリケーションインスタンスのプロジェクトステージを返します。デフォルト値は
ProjectStage.Production
ですこのメソッドの実装は、返される値を決定するために、次のアルゴリズムまたは同等の最終結果を持つ同等のものを実行する必要があります。
値がこのメソッドへの以前の呼び出しによってすでに決定されている場合は、単にその値を返します。
ProjectStage.PROJECT_STAGE_JNDI_NAME
(戻り値の型java.lang.String
)の値で指定されたキーで、JNDI
環境エントリを探します。見つかった場合は、以下のアルゴリズムを続行します。それ以外の場合は、ProjectStage.PROJECT_STAGE_PARAM_NAME
の値で指定されたキーを使用して、現在のFacesContext
からExternalContext
のinitParamMap
のエントリを探します。値が見つかった場合は、
initParamMap
から値を渡してProjectStage.valueOf()
を呼び出し、列挙定数を取得できるかどうかを確認します。これが例外なく成功した場合は、値を保存して返します。見つからない場合、またはこれまでに列挙定数値を検出する試みが失敗した場合は、説明的なエラーメッセージをログに記録し、値を
ProjectStage.Production
として割り当てて返します。
.Application
を装飾するユーザーが機能を継続できるように、UnsupportedOperationException
をスローするデフォルトの実装が提供されています- 戻り値:
- プロジェクトの段階。
- 導入:
- 2.0
addELResolver
public void addELResolver(ELResolver resolver)
Jakarta Faces Specification Document のセクション 5.3.2 "ELResolver" で指定されているように、引数
resolver
がリゾルバーチェーンに追加されるようにします。このメソッドで登録された
ELResolver
は、いったん登録すると削除できません。アプリケーションがクライアントからリクエストを受け取った後で
ELResolver
を登録することは不正です。それ以降にリスナーを登録しようとする場合は、IllegalStateException
をスローする必要があります。この制限は、Jakarta Server Pages コンテナーが、チェーンに標準のもの以外に追加のELResolver
がない一般的な場合に最適化できるようにするために設けられています。すでにチェーンにあるCompositeELResolver
に、初期化の前または後にELResolver
を追加することができます。デフォルトの実装は
UnsupportedOperationException
をスローし、Application
を継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。- パラメーター:
resolver
- 追加する Jakarta Expression Language リゾルバー。- 例外:
IllegalStateExceptionSE
-FacesServlet
への最初のリクエストが処理された後に呼び出された場合。- 導入:
- 1.2
getELResolver
public ELResolver getELResolver()
すべての Jakarta Expression Language 解決に使用されるシングルトン
ELResolver
インスタンスを返します。これは実際にはCompositeELResolver
のインスタンスであり、次のELResolver
インスタンスを次の順序で含める必要があります。アプリケーション構成リソースの <el-resolver> 要素を使用して宣言された
ELResolver
インスタンス。スペックドキュメントの第 5 章のセクション VariableResolver ChainWrapper に従って、レガシー
VariableResolver
チェーンのヘッドをラップするimplementation
。スペックドキュメントの第 5 章のセクション PropertyResolver ChainWrapper に従って、レガシー
PropertyResolver
チェーンのヘッドをラップするimplementation
。addELResolver(jakarta.el.ELResolver)
の呼び出しによって追加されたELResolver
インスタンス。
デフォルトの実装は
UnsupportedOperationException
をスローし、Application
を継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。- 戻り値:
- Jakarta Expression Language リゾルバー。
- 導入:
- 1.2
getFlowHandler
public FlowHandler getFlowHandler()
このアプリケーションのスレッドセーフなシングルトン
FlowHandler
を返します。仕様のバージョン 2.2 への準拠を宣言する実装の場合、アプリケーションにフローがない場合でも、このメソッドがnull
を返さないようにする必要があります。これは、アプリケーションの存続期間中に動的フローを作成できるようにするために必要です。仕様のバージョン 2.2 への準拠を宣言するすべての実装は、このメソッドを実装する必要があります。
Application
を継承するが、このメソッドをオーバーライドしない環境との下位互換性を確保するために、null
を返す実装が提供されています。Application
の装飾可能な性質により、このメソッドを呼び出すコードは常にnull
の戻り値をチェックする必要があります。- 戻り値:
- フローハンドラー。
- 導入:
- 2.2
setFlowHandler
public void setFlowHandler(FlowHandler newHandler)
NavigationHandler
が使用するFlowHandler
インスタンスを設定して、面フロー機能の要件を満たします。- パラメーター:
newHandler
- 設定するフローハンドラー。- 例外:
NullPointerExceptionSE
- newHandler がnull
の場合IllegalStateExceptionSE
- このアプリケーションのLifecycle
インスタンスによって少なくとも 1 つのリクエストが処理された後にこのメソッドが呼び出された場合。- 導入:
- 2.2
getViewHandler
public abstract ViewHandler getViewHandler()
リクエスト処理のライフサイクルのビューを復元し、レスポンスのレンダリング・フェーズで利用される
ViewHandler
インスタンスを返します。明示的に設定されていない場合は、Jakarta Faces Specification のViewHandler
の説明で説明されている機能を実行するデフォルトの実装を提供する必要があります。- 戻り値:
- ビューハンドラー。
setViewHandler
public abstract void setViewHandler(ViewHandler handler)
リクエスト処理ライフサイクルのビューの復元フェーズとレスポンスのレンダリングフェーズで使用される
ViewHandler
インスタンスを設定します。- パラメーター:
handler
- 新しいViewHandler
インスタンス- 例外:
IllegalStateExceptionSE
- このアプリケーションのLifecycle
インスタンスによって少なくとも 1 つのリクエストが処理された後にこのメソッドが呼び出された場合。NullPointerExceptionSE
-handler
がnull
の場合
getStateManager
public abstract StateManager getStateManager()
リクエスト処理のライフサイクルのビューを復元し、レスポンスのレンダリング・フェーズで利用される
StateManager
インスタンスを返します。明示的に設定されていない場合は、Jakarta Faces Specification のStateManager
の説明で説明されている機能を実行するデフォルトの実装を提供する必要があります。- 戻り値:
- 状態のマネージャー。
setStateManager
public abstract void setStateManager(StateManager manager)
リクエスト処理ライフサイクルのビューの復元フェーズとレスポンスのレンダリングフェーズで使用される
StateManager
インスタンスを設定します。- パラメーター:
manager
- 新しいStateManager
インスタンス- 例外:
IllegalStateExceptionSE
- このアプリケーションのLifecycle
インスタンスによって少なくとも 1 つのリクエストが処理された後にこのメソッドが呼び出された場合。NullPointerExceptionSE
-manager
がnull
の場合
addBehavior
public void addBehavior(StringSE behaviorId, StringSE behaviorClass)
対応する
Behavior
クラスの名前への動作 ID の新しいマッピングを登録します。これにより、createBehavior()
への後続の呼び出しがBehavior
インスタンスのファクトリとして機能できるようになります。- パラメーター:
behaviorId
- 登録する動作 IDbehaviorClass
- 対応するBehavior
実装の完全修飾クラス名- 例外:
NullPointerExceptionSE
-behaviorId
またはbehaviorClass
がnull
の場合- 導入:
- 2.0
createBehavior
public Behavior createBehavior(StringSE behaviorId) throws FacesException
インスタンス化とは、指定された動作 ID の
addBehavior()
の前回の呼び出しで指定したクラスの新しいBehavior
インスタンスを返します。- パラメーター:
behaviorId
- 新しいBehavior
インスタンスを作成して返す動作 ID- 戻り値:
- 行動。
- 例外:
FacesException
-Behavior
を作成できない場合NullPointerExceptionSE
-behaviorId
がnull
の場合
getBehaviorIds
public IteratorSE<StringSE> getBehaviorIds()
この
Application
に現在登録されている一連の動作 ID に対してIterator
を返します。- 戻り値:
- 動作 ID を持つイテレータ。
addComponent
public abstract void addComponent(StringSE componentType, StringSE componentClass)
コンポーネント型の新しいマッピングを、対応する
UIComponent
クラスの名前に登録します。これにより、createComponent()
への後続の呼び出しがUIComponent
インスタンスのファクトリとして機能できるようになります。- パラメーター:
componentType
- 登録するコンポーネント型componentClass
- 対応するUIComponent
実装の完全修飾クラス名- 例外:
NullPointerExceptionSE
-componentType
またはcomponentClass
がnull
の場合
createComponent
public abstract UIComponent createComponent(StringSE componentType) throws FacesException
インスタンス化とは、指定されたコンポーネント型の
addComponent()
の前回の呼び出しで指定したクラスの新しいUIComponent
インスタンスを返します。コンポーネントインスタンスが返される前に、
ListenerFor
(またはListenersFor
)またはResourceDependency
(またはResourceDependencies
)アノテーションの存在をインスペクションする必要があります。これらのアノテーションのいずれかが存在する場合、このメソッドから返される前に、ListenerFor
またはResourceDependency
にリストされているアクションをコンポーネントに対して実行する必要があります。createComponent
のこのバリアントは、前述のアノテーションのいずれかについて返されるコンポーネントについてRenderer
をインスペクションしてはなりません。このようなインスペクションは、createComponent(ValueExpression, FacesContext, String, String)
またはcreateComponent(FacesContext, String, String)
の状態です。- パラメーター:
componentType
- 新しいUIComponent
インスタンスを作成して返すコンポーネント型- 戻り値:
- UI コンポーネント。
- 例外:
FacesException
- 指定した型のUIComponent
を作成できない場合NullPointerExceptionSE
-componentType
がnull
の場合
createComponent
public UIComponent createComponent(ValueExpression componentExpression, FacesContext context, StringSE componentType) throws FacesException
指定された
ValueExpression
でgetValue()
メソッドを呼び出します。UIComponent
インスタンスを返す場合は、このメソッドの値として返します。そうでない場合は、指定されたコンポーネント型の新しいUIComponent
インスタンスをインスタンス化し、新しいコンポーネントを指定されたValueExpression
のsetValue()
メソッドに渡して、それを返します。コンポーネントインスタンスが返される前に、
ListenerFor
(またはListenersFor
)またはResourceDependency
(またはResourceDependencies
)アノテーションの存在をインスペクションする必要があります。これらのアノテーションのいずれかが存在する場合、このメソッドから返される前に、ListenerFor
またはResourceDependency
にリストされているアクションをコンポーネントに対して実行する必要があります。createComponent
のこのバリアントは、前述のアノテーションのいずれかについて返されるコンポーネントについてRenderer
をインスペクションしてはなりません。このようなインスペクションは、createComponent(ValueExpression, FacesContext, String, String)
またはcreateComponent(FacesContext, String, String)
の状態です。Application
を装飾するユーザーが引き続き機能できるように、UnsupportedOperationException
をスローするデフォルトの実装が提供されています。- パラメーター:
componentExpression
- コンポーネント値式を表すValueExpression
(通常、カスタムタグのcomponent
属性によって指定されます)context
- 現在のリクエストのFacesContext
componentType
-ValueExpression
がコンポーネントインスタンスを返さない場合に作成するコンポーネント型- 戻り値:
- UI コンポーネント。
- 例外:
FacesException
-UIComponent
を作成できない場合NullPointerExceptionSE
- パラメーターがnull
の場合- 導入:
- 1.2
createComponent
public UIComponent createComponent(ValueExpression componentExpression, FacesContext context, StringSE componentType, StringSE rendererType)
createComponent(ValueExpression, FacesContext, String)
と同様ですが、返されるコンポーネントのRenderer
を調べて、そのメソッドのドキュメントで指定されているcreateComponent(ValueExpression, FacesContext, String)
に記載されているアノテーションを確認する必要があります。インスペクションするRenderer
インスタンスは、FacesContext.getRenderKit()
を呼び出し、結果に対してRenderKit.getRenderer(java.lang.String, java.lang.String)
を呼び出し、最初の引数として引数componentType
を渡し、新しく作成されたコンポーネントでUIComponent.getFamily()
を呼び出した結果を 2 番目の引数として取得する必要があります。そのようなRenderer
が見つからない場合は、有用なエラーメッセージとともにメッセージをログに記録する必要があります。それ以外の場合は、新しく作成されたUIComponent
インスタンスでUIComponent.setRendererType(java.lang.String)
を呼び出し、引数rendererType
を引数として渡す必要があります。Application
を装飾するユーザーが引き続き機能できるように、UnsupportedOperationException
をスローするデフォルトの実装が提供されています。- パラメーター:
componentExpression
- コンポーネント値式を表すValueExpression
(通常、カスタムタグのcomponent
属性によって指定されます)context
- 現在のリクエストのFacesContext
componentType
-ValueExpression
がコンポーネントインスタンスを返さない場合に作成するコンポーネント型rendererType
- このコンポーネントをレンダリングするRenderer
のレンダラー型。このパラメーターには、null
値を受け入れる必要があります。- 戻り値:
- UI コンポーネント。
- 例外:
FacesException
-UIComponent
を作成できない場合NullPointerExceptionSE
- パラメーターcomponentExpression
、context
、componentType
のいずれかがnull
である場合- 導入:
- 2.0
createComponent
public UIComponent createComponent(FacesContext context, StringSE componentType, StringSE rendererType)
createComponent(String)
と同様ですが、返されるコンポーネントのRenderer
を調べて、そのメソッドのドキュメントで指定されているcreateComponent(ValueExpression, FacesContext, String)
に記載されているアノテーションを確認する必要があります。インスペクションするRenderer
インスタンスは、FacesContext.getRenderKit()
を呼び出し、結果に対してRenderKit.getRenderer(java.lang.String, java.lang.String)
を呼び出し、最初の引数として引数componentType
を渡し、新しく作成されたコンポーネントでUIComponent.getFamily()
を呼び出した結果を 2 番目の引数として取得する必要があります。そのようなRenderer
が見つからない場合は、有用なエラーメッセージとともにメッセージをログに記録する必要があります。それ以外の場合は、新しく作成されたUIComponent
インスタンスでUIComponent.setRendererType(java.lang.String)
を呼び出し、引数rendererType
を引数として渡す必要があります。
.Application
を装飾するユーザーが機能を継続できるように、UnsupportedOperationException
をスローするデフォルトの実装が提供されています- パラメーター:
context
- 現在のリクエストのFacesContext
componentType
- 作成するコンポーネント型rendererType
- このコンポーネントをレンダリングするRenderer
のレンダラー型。このパラメーターには、null
値を受け入れる必要があります。- 戻り値:
- UI コンポーネント。
- 例外:
FacesException
-UIComponent
を作成できない場合NullPointerExceptionSE
- パラメーターcontext
またはcomponentType
のいずれかがnull
である場合- 導入:
- 2.0
createComponent
public UIComponent createComponent(FacesContext context, Resource componentResource)
インスタンス化とは、引数
Resource
から新しいUIComponent
インスタンスを返します。UIComponent
をインスタンス化して返すには、意味的に次と同等のアルゴリズムに従う必要があります。ViewHandler.getViewDeclarationLanguage(jakarta.faces.context.FacesContext, java.lang.String)
を呼び出して、このApplication
インスタンスのViewDeclarationLanguage
への参照を取得し、引数FacesContext
のUIViewRoot
でUIViewRoot.getViewId()
を呼び出して見つかったviewId
を渡します。ViewDeclarationLanguage.getComponentMetadata(jakarta.faces.context.FacesContext, jakarta.faces.application.Resource)
を呼び出し、facesContext
およびcomponentResource
引数をこのメソッドに渡すことにより、この複合コンポーネントの複合コンポーネントメタデータへの参照を取得します。このバージョンの Jakarta Faces Specification は、コンポーネントメタデータへの API として JavaBeans を使用します。コンポーネントのメタデータから
BeanDescriptor
を取得し、引数としてUIComponent.COMPOSITE_COMPONENT_TYPE_KEY
を渡してそのgetValue()
メソッドを呼び出すことにより、コンポーネントの作成者がこのコンポーネントインスタンスに対してcomponentType
を宣言しているかどうかを判断します。null
でない場合、その結果は、このResource
コンポーネント用に作成されるUIComponent
のcomponent-type
を値とするValueExpression
でなければなりません。createComponent(java.lang.String)
にコールスルーしてコンポーネントを作成します。それ以外の場合は、
ViewDeclarationLanguage.getScriptComponentResource(jakarta.faces.context.FacesContext, jakarta.faces.application.Resource)
を呼び出して、このResource
のスクリプトベースのコンポーネントが見つかるかどうかを確認します。結果が非 null
で、コンテンツ型text/javascript
を満たす言語で記述されたスクリプトである場合、スクリプトリソースからUIComponent
インスタンスを作成します。それ以外の場合は、library-name を引数
componentResource
でResource.getLibraryName()
を呼び出してからの戻り値とし、resource-name を引数componentResource
でResource.getResourceName()
を呼び出してからの戻り値とします。resource-name からファイル拡張子を削除して完全修飾 Java クラス名を作成し、fqcn をlibrary-name + "." + resource-name
にします。fqcn という名前のクラスが見つからない場合は、何もせずに次の手順に進みます。InstantiationException
、IllegalAccessException
、ClassCastException
のいずれかがスローされた場合は、例外をFacesException
でラップして、再スローします。他の例外がスローされた場合は、例外をログに記録して、次の手順に進みます。前の手順のいずれでも
UIComponent
インスタンスが生成されなかった場合は、"jakarta.faces.NamingContainer
" を引数として渡してcreateComponent(java.lang.String)
を呼び出します。UIComponent
インスタンスでUIComponent.setRendererType(java.lang.String)
を呼び出し、引数として "jakarta.faces.Composite
" を渡します。引数
Resource
を、キーResource.COMPONENT_RESOURCE_KEY
のUIComponent
の属性Map
に格納します。複合コンポーネントのメタデータを、キー
UIComponent.BEANINFO_KEY
のUIComponent
の属性Map
に格納します。
コンポーネントインスタンスが返される前に、
ListenerFor
アノテーションの存在をインスペクションする必要があります。このアノテーションが存在する場合、このメソッドから返される前に、ListenerFor
にリストされているアクションをコンポーネントに対して実行する必要があります。Application
を装飾するユーザーが引き続き機能できるように、UnsupportedOperationException
をスローするデフォルトの実装が提供されています。- パラメーター:
context
- 現在のリクエストのFacesContext
componentResource
- コンポーネントの実装を提供するソースファイルを指すResource
。- 戻り値:
- UI コンポーネント。
- 例外:
FacesException
-Resource
からUIComponent
を作成できない場合NullPointerExceptionSE
- パラメーターがnull
の場合NullPointerExceptionSE
- 何らかの理由で、上記のようにViewDeclarationLanguage
インスタンスを取得できない場合。- 導入:
- 2.0
getComponentTypes
public abstract IteratorSE<StringSE> getComponentTypes()
この
Application
に対して現在定義されているコンポーネント型のセットに対してIterator
を返します。- 戻り値:
- コンポーネント型のイテレータ。
addConverter
public abstract void addConverter(StringSE converterId, StringSE converterClass)
対応する
Converter
クラスの名前へのコンバーター ID の新しいマッピングを登録します。これにより、createConverter()
への後続の呼び出しがConverter
インスタンスのファクトリとして機能できるようになります。- パラメーター:
converterId
- 登録するコンバーター IDconverterClass
- 対応するConverter
実装の完全修飾クラス名- 例外:
NullPointerExceptionSE
-converterId
またはconverterClass
がnull
の場合
addConverter
public abstract void addConverter(ClassSE<?> targetClass, StringSE converterClass)
指定されたターゲットクラスの変換を実行できる新しいコンバータークラスを登録します。
- パラメーター:
targetClass
- このコンバーターが登録されているクラスconverterClass
- 対応するConverter
実装の完全修飾クラス名- 例外:
NullPointerExceptionSE
-targetClass
またはconverterClass
がnull
の場合
createConverter
public abstract Converter createConverter(StringSE converterId)
インスタンス化とは、指定されたコンバーター ID の
addConverter()
の前回の呼び出しで指定したクラスの新しいConverter
インスタンスを返します。"
jakarta.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE
" アプリケーション構成パラメーターの値のString
表現のtoLowerCase()
が "true
" (引用符なし)であり、返されるConverter
インスタンスがDateTimeConverter
のインスタンスである場合、DateTimeConverter.setTimeZone(java.util.TimeZone)
を呼び出して、TimeZone.getDefault()
からの戻り値を渡す必要があります。引数
converter
は、ResourceDependency
アノテーションの存在をインスペクションする必要があります。ResourceDependency
アノテーションが存在する場合は、ResourceDependency
で説明されているアクションを実行する必要があります。ResourceDependency
アノテーションが存在しない場合は、引数converter
をインスペクションしてResourceDependencies
アノテーションが存在するかどうかを確認する必要があります。ResourceDependencies
アノテーションが存在する場合は、ResourceDependencies
で説明されているアクションを実行する必要があります。- パラメーター:
converterId
- 新しいConverter
インスタンスを作成して返すコンバーター ID- 戻り値:
- コンバーター。
- 例外:
FacesException
-Converter
を作成できない場合NullPointerExceptionSE
-converterId
がnull
の場合
createConverter
public abstract Converter createConverter(ClassSE<?> targetClass)
インスタンス化とは、指定された型のオブジェクトのための変換を行うことができるように自分自身を登録したクラスの新しい
Converter
インスタンスを返します。そのようなConverter
クラスを識別できない場合は、null
を返します。適切な
Converter
クラスを見つけるために、次のアルゴリズムが実行され、適切なConverter
クラスが見つかるとすぐに停止します。- ターゲットクラス自体に登録されている
Converter
を見つけます。 - ターゲットクラスによって(直接的または間接的に)実装されているインターフェースに登録されている
Converter
を見つけます。 - ターゲットクラスのスーパークラス(存在する場合)に登録されている
Converter
を見つけて、継承階層を再帰的に処理します。
Converter
にClass
を受け入れる単一の引数コンストラクターがある場合は、そのコンストラクターを使用してConverter
をインスタンス化し、引数targetClass
を唯一の引数として渡します。それ以外の場合は、引数なしのコンストラクターを使用してください。"
jakarta.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE
" アプリケーション構成パラメーターの値のString
表現のtoLowerCase()
が "true
" (引用符なし)であり、返されるConverter
インスタンスがDateTimeConverter
のインスタンスである場合、DateTimeConverter.setTimeZone(java.util.TimeZone)
を呼び出して、TimeZone.getDefault()
からの戻り値を渡す必要があります。- パラメーター:
targetClass
-Converter
を返すターゲットクラス- 戻り値:
- コンバーター。
- 例外:
FacesException
-Converter
を作成できない場合NullPointerExceptionSE
-targetClass
がnull
の場合
- ターゲットクラス自体に登録されている
getConverterIds
public abstract IteratorSE<StringSE> getConverterIds()
この
Application
の現在登録されているコンバーター ID のセットに対してIterator
を返します。- 戻り値:
- コンバーター ID を持つイテレーター。
getConverterTypes
public abstract IteratorSE<ClassSE<?>> getConverterTypes()
Converter
クラスが明示的に登録されているClass
インスタンスのセットに対してIterator
を返します。- 戻り値:
- コンバーター型のイテレーター。
addDefaultValidatorId
public void addDefaultValidatorId(StringSE validatorId)
ビュー内のすべての
UIInput
コンポーネントに適用される ID でバリデーターを登録します。このロールを最も頻繁に果たすバリデーターはBeanValidator
です。このメソッドの使用契約は、バリデーターが通常の "by-id" 登録メカニズムを使用して登録されていることを前提としています。Application
を装飾するユーザーが引き続き作業できるように、アクションを実行しない実装が提供されます。- パラメーター:
validatorId
- バリデータ ID。- 導入:
- 2.0
getDefaultValidatorInfo
public MapSE<StringSE,StringSE> getDefaultValidatorInfo()
現在登録されているデフォルトのバリデーター ID のセットとこの
Application
のクラス名に対して不変のMap
を返します。Application
を装飾するユーザーが引き続き作業できるように、Collections.emptyMap
を返す実装が提供されます。- 戻り値:
- デフォルトのバリデーター情報のマップ。
- 導入:
- 2.0
getExpressionFactory
public ExpressionFactory getExpressionFactory()
このアプリケーションの
ExpressionFactory
インスタンスを返します。このインスタンスは、コンビニエンスメソッドevaluateExpressionGet(jakarta.faces.context.FacesContext, java.lang.String, java.lang.Class<? extends T>)
によって使用されます。実装は、
jakarta.el.ELManager.getExpressionFactory()
を呼び出して Expression Language コンテナーからExpressionFactory
を返す必要があります。Application
を装飾するユーザーが引き続き作業できるように、UnsupportedOperationException
をスローする実装が提供されます。- 戻り値:
- 式ファクトリ。
- 導入:
- 1.2
evaluateExpressionGet
public <T> T evaluateExpressionGet(FacesContext context, StringSE expression, ClassSE<? extends T> expectedType) throws ELException
式を評価して値を取得します。
getExpressionFactory()
を呼び出してから、引数expression
およびexpectedType
を渡してExpressionFactory.createValueExpression(jakarta.el.ELContext, java.lang.String, java.lang.Class<?>)
を呼び出します。FacesContext.getELContext()
を呼び出し、それをValueExpression.getValue(jakarta.el.ELContext)
に渡して、結果を返します。Application
を装飾するユーザーが引き続き作業できるように、UnsupportedOperationException
をスローする実装が提供されます。- 型パラメーター:
T
- 戻り値の型。- パラメーター:
context
- Faces コンテキスト。expression
- 表現。expectedType
- 予想される型。- 戻り値:
- 評価の結果。
- 例外:
ELException
getSupportedLocales
public abstract IteratorSE<LocaleSE> getSupportedLocales()
このアプリケーションでサポートされている
Locale
を介してIterator
を返します。- 戻り値:
- サポートされているロケールのイテレータ。
setSupportedLocales
public abstract void setSupportedLocales(CollectionSE<LocaleSE> locales)
このアプリケーションでサポートされる
Locale
を表すLocale
インスタンスを設定します。- パラメーター:
locales
- このアプリケーションでサポートされているLocale
のセット- 例外:
NullPointerExceptionSE
- 引数newLocales
がnull
の場合。
addELContextListener
public void addELContextListener(ELContextListener listener)
Faces アプリケーションが
ELContext
インスタンスの作成時に通知されるELContextListener
を登録する方法を提供します。このリスナーは、リクエストごとに 1 回呼び出されます。Application
を装飾するユーザーが引き続き作業できるように、UnsupportedOperationException
をスローする実装が提供されます。- パラメーター:
listener
- 追加する Jakarta Expression Language コンテキストリスナー。- 導入:
- 1.2
removeELContextListener
public void removeELContextListener(ELContextListener listener)
ELContextListener
のリストから引数listener
を削除します。listener
が null の場合、例外はスローされず、アクションは実行されません。listener
がリストにない場合、例外はスローされず、アクションは実行されません。Application
を装飾するユーザーが引き続き作業できるように、UnsupportedOperationException
をスローする実装が提供されます。- パラメーター:
listener
- 削除する Jakarta Expression Language コンテキストリスナー。- 導入:
- 1.2
getELContextListeners
public ELContextListener[] getELContextListeners()
addELContextListener(jakarta.el.ELContextListener)
が呼び出されていない場合、このメソッドは空の配列を返す必要があります。それ以外の場合は、
addELContextListener(jakarta.el.ELContextListener)
の呼び出しによって追加されたリスナーのリストを表す配列を返します。Application
を装飾するユーザーが引き続き作業できるように、UnsupportedOperationException
をスローする実装が提供されます。- 戻り値:
- Jakarta Expression Language コンテキストリスナーの配列。
- 導入:
- 1.2
addValidator
public abstract void addValidator(StringSE validatorId, StringSE validatorClass)
対応する
Validator
クラスの名前へのバリデータ ID の新しいマッピングを登録します。これにより、createValidator()
への後続の呼び出しがValidator
インスタンスのファクトリとして機能できるようになります。- パラメーター:
validatorId
- 登録するバリデータ IDvalidatorClass
- 対応するValidator
実装の完全修飾クラス名- 例外:
NullPointerExceptionSE
-validatorId
またはvalidatorClass
がnull
の場合
createValidator
public abstract Validator createValidator(StringSE validatorId) throws FacesException
インスタンス化とは、指定されたバリデータ ID の
addValidator()
の前回の呼び出しで指定したクラスの新しいValidator
インスタンスを返します。引数
validator
は、ResourceDependency
アノテーションの存在をインスペクションする必要があります。ResourceDependency
アノテーションが存在する場合は、ResourceDependency
で説明されているアクションを実行する必要があります。ResourceDependency
アノテーションが存在しない場合は、引数validator
をインスペクションしてResourceDependencies
アノテーションが存在するかどうかを確認する必要があります。ResourceDependencies
アノテーションが存在する場合は、ResourceDependencies
で説明されているアクションを実行する必要があります。- パラメーター:
validatorId
- 新しいValidator
インスタンスを作成して返すためのバリデータ ID- 戻り値:
- バリデーター。
- 例外:
FacesException
- 指定した ID のValidator
を作成できない場合NullPointerExceptionSE
-validatorId
がnull
の場合
getValidatorIds
public abstract IteratorSE<StringSE> getValidatorIds()
この
Application
の現在登録されているバリデーター ID のセットに対してIterator
を返します。- 戻り値:
- バリデータ ID のイテレータ。
publishEvent
public void publishEvent(FacesContext context, ClassSE<? extends SystemEvent> systemEventClass, ObjectSE source)
FacesContext.isProcessingEvents()
がtrue
であり、systemEventClass
で表される型のイベントのリスナーが 1 つ以上ある場合は、それらのリスナーを呼び出し、source
をイベントのソースとして渡します。実装は、特定のsystemEventClass
およびsource
のリスナーがインストールされているかどうかを判断する際に可能な限り高速である必要があり、そのような判断が行われるとすぐに戻る必要があります。publishEvent
の実装は、リスナーインスタンスの保存と取得に関してsubscribeToEvent(java.lang.Class<? extends jakarta.faces.event.SystemEvent>, java.lang.Class<?>, jakarta.faces.event.SystemEventListener)
に記載されている要件を満たす必要があります。具体的には、subscribeToEvent(Class,Class,SystemEventListener)
が呼び出された場合、sourceClass
引数は、publishEvent()
の呼び出しでsource
引数のClass
と正確に一致する必要があります。実装は、イベントの公開先のリスナーを見つけるために、subscribeToEvent(Class,Class,SystemEventListener)
に渡されたsourceClass
とpublishEvent()
に渡されたsourceClass
の間の一致を探すときに、継承階層インスペクションを実行してはなりません。source
引数のClass
が、リスナーがsubscribeToEvent()
を使用してサブスクライブされたときに使用されたsourceClass
のClass
と一致しない場合、publishEvent(FacesContext,Class,Class,Object)
を使用して、リスナーのルックアップと一致を実行するために使用されるClass
を提供できます。デフォルトの実装では、リスナーインスタンスを見つけて呼び出すために、以下と意味的に同等のアルゴリズムを実装する必要があります。
source
引数がSystemEventListenerHolder
を実装している場合は、systemEventClass
引数を渡してSystemEventListenerHolder.getListenersForEventClass(java.lang.Class<? extends jakarta.faces.event.SystemEvent>)
を呼び出します。リストが空でない場合は、リストに対してアルゴリズム traverseListenerList を実行します。UIViewRoot
上のsubscribeToEvent(Class, Class, jakarta.faces.event.SystemEventListener)
への以前の呼び出しによってビューレベルリスナーがインストールされている場合は、UIViewRoot
にインストールされたそのイベントのリスナーのリストに対してアルゴリズム traverseListenerList を実行します。subscribeToEvent(Class, Class, jakarta.faces.event.SystemEventListener)
への以前の呼び出しによってApplication
レベルのリスナーがインストールされている場合は、リストに対してアルゴリズム traverseListenerList を実行します。subscribeToEvent(Class, jakarta.faces.event.SystemEventListener)
への以前の呼び出しによってApplication
レベルのリスナーがインストールされている場合は、リストに対してアルゴリズム traverseListenerList を実行します。
processListener
メソッドを呼び出す行為によってAbortProcessingException
がスローされた場合、リスナーの処理を中止し、このイベントのリスナーのそれ以上の処理を行わず、例外をLevel.SEVERE
でログに記録する必要があります。アルゴリズム traverseListenerList: リスト内のリスナーごとに
source
引数を渡して、SystemEventListener.isListenerForSource(java.lang.Object)
を呼び出します。これがfalse
を返す場合は、リスナーに対して何も実行しないでください。それ以外の場合、リスナーインスタンスに渡されるイベントがまだ構築されていない場合は、
Object
を受け取る 1 引数コンストラクターに引数としてsource
を渡して、イベントを構築します。この同じイベントインスタンスをすべてのリスナーインスタンスに渡す必要があります。SystemEvent.isAppropriateListener(jakarta.faces.event.FacesListener)
を呼び出し、リスナーインスタンスを引数として渡します。これがfalse
を返す場合は、リスナーに対して何も実行しないでください。SystemEvent.processListener(jakarta.faces.event.FacesListener)
を呼び出し、リスナーインスタンスを渡します。
.Application
を装飾するユーザーが機能を継続できるように、UnsupportedOperationException
をスローするデフォルトの実装が提供されています- パラメーター:
context
- 現在のリクエストのFacesContext
systemEventClass
- 公開されているイベントのClass
。source
- 型systemEventClass
のイベントのソース。- 例外:
NullPointerExceptionSE
-context
、systemEventClass
、source
のいずれかがnull
の場合- 導入:
- 2.0
publishEvent
public void publishEvent(FacesContext context, ClassSE<? extends SystemEvent> systemEventClass, ClassSE<?> sourceBaseType, ObjectSE source)
このメソッドは、
source
引数のClass
を使用する代わりに、ランタイムが引数sourceBaseType
を使用して一致するリスナーを検索する必要があることを除いて、publishEvent(FacesContext,Class,Object)
とまったく同じように機能します。
.Application
を装飾するユーザーが機能を継続できるように、UnsupportedOperationException
をスローするデフォルトの実装が提供されています- パラメーター:
context
- 現在のリクエストのFacesContext
systemEventClass
- 公開されているイベントのClass
。sourceBaseType
- このイベントの公開先のリスナーを検索するために使用する必要があるソースイベントのClass
。この引数がnull
の場合、source.getClass()
からの戻り値をsourceBaseType
として使用する必要があります。source
- 型systemEventClass
のイベントのソース。- 例外:
NullPointerExceptionSE
-sourceBaseType
以外の引数がnull
の場合- 導入:
- 2.0
subscribeToEvent
public void subscribeToEvent(ClassSE<? extends SystemEvent> systemEventClass, ClassSE<?> sourceClass, SystemEventListener listener)
引数
listener
で参照されるリスナーインスタンスを、型sourceClass
のオブジェクトから発生する型systemEventClass
のイベントのリスナーとしてアプリケーションにインストールします。引数
sourceClass
が非 null
、sourceClass
、systemEventClass
の場合は、systemEventClass
およびsourceClass
によって参照されるClass
のインスタンスを指定してpublishEvent(jakarta.faces.context.FacesContext, java.lang.Class<? extends jakarta.faces.event.SystemEvent>, java.lang.Object)
を実装することにより、listener
をすばやく検索できるように、引数listener
をアプリケーションに格納するためにnull
、sourceClass
、systemEventClass
を使用する必要があります。引数sourceClass
がnull
の場合、systemEventClass
のみが指定されたpublishEvent(jakarta.faces.context.FacesContext, java.lang.Class<? extends jakarta.faces.event.SystemEvent>, java.lang.Object)
の実装によって、listener
が検出可能である必要があります。このメソッドへの以前の呼び出しによってサブスクライブされたイベントの処理中に、このメソッドを呼び出すことは有効です。
- パラメーター:
systemEventClass
-listener
を発生させる必要があるイベントのClass
sourceClass
- 型systemEventClass
のイベントを発生させるインスタンスのClass
。null
の可能性があります。listener
- 型systemEventClass
のイベントが発生したときにSystemEventListener.processEvent(jakarta.faces.event.SystemEvent)
メソッドを呼び出す必要があるSystemEventListener
の実装。- 例外:
NullPointerExceptionSE
-systemEventClass
またはlistener
の任意の組み合わせがnull
である場合。- 導入:
- 2.0
subscribeToEvent
public void subscribeToEvent(ClassSE<? extends SystemEvent> systemEventClass, SystemEventListener listener)
引数
listener
によって参照されるリスナーインスタンスを、型systemEventClass
のイベントのリスナーとしてアプリケーションにインストールします。デフォルトの実装は、sourceClass
引数としてnull
を渡すsubscribeToEvent(Class, Class, jakarta.faces.event.SystemEventListener)
を呼び出すだけです。
.Application
を装飾するユーザーが機能を継続できるように、UnsupportedOperationException
をスローするデフォルトの実装が提供されています- パラメーター:
systemEventClass
-listener
を発生させる必要があるイベントのClass
listener
- 型systemEventClass
のイベントが発生したときにSystemEventListener.processEvent(jakarta.faces.event.SystemEvent)
メソッドを呼び出す必要があるSystemEventListener
の実装。このメソッドを呼び出すことが有効な場合に関する追加要件については、
subscribeToEvent(java.lang.Class,java.lang.Class,jakarta.faces.event.SystemEventListener)
を参照してください。- 例外:
NullPointerExceptionSE
-systemEventClass
またはlistener
の任意の組み合わせがnull
である場合。- 導入:
- 2.0
unsubscribeFromEvent
public void unsubscribeFromEvent(ClassSE<? extends SystemEvent> systemEventClass, ClassSE<?> sourceClass, SystemEventListener listener)
型
sourceClass
のオブジェクトから発生する型systemEventClass
のイベントのリスナーとして、引数listener
によって参照されるリスナーインスタンスをアプリケーションから削除します。リスナーの保管方法、リスナーを削除する方法の仕様については、subscribeToEvent(Class, Class, jakarta.faces.event.SystemEventListener)
を参照してください。このメソッドを呼び出すことが有効な場合に関する追加要件については、
subscribeToEvent(java.lang.Class,java.lang.Class,jakarta.faces.event.SystemEventListener)
を参照してください。- パラメーター:
systemEventClass
-listener
を発生させる必要があるイベントのClass
sourceClass
- 型systemEventClass
のイベントを発生させるインスタンスのClass
。null
の可能性があります。listener
- 内部データ構造から削除するSystemEventListener
の実装。- 例外:
NullPointerExceptionSE
-context
、systemEventClass
、listener
の任意の組み合わせがnull
である場合。- 導入:
- 2.0
unsubscribeFromEvent
public void unsubscribeFromEvent(ClassSE<? extends SystemEvent> systemEventClass, SystemEventListener listener)
型
systemEventClass
のイベントのリスナーとして、引数listener
によって参照されるリスナーインスタンスをアプリケーションから削除します。デフォルトの実装は、sourceClass
引数としてnull
を渡すunsubscribeFromEvent(Class, jakarta.faces.event.SystemEventListener)
を呼び出すだけです。このメソッドを呼び出すことが有効な場合に関する追加要件については、
subscribeToEvent(java.lang.Class,java.lang.Class,jakarta.faces.event.SystemEventListener)
を参照してください。- パラメーター:
systemEventClass
-listener
を発生させる必要があるイベントのClass
listener
- 内部データ構造から削除するSystemEventListener
の実装。- 例外:
NullPointerExceptionSE
-context
、systemEventClass
、listener
の任意の組み合わせがnull
である場合。- 導入:
- 2.0
getSearchExpressionHandler
public SearchExpressionHandler getSearchExpressionHandler()
このアプリケーションのスレッドセーフシングルトン
SearchExpressionHandler
を返します。- 戻り値:
SearchExpressionHandler
- 導入:
- 2.3
setSearchExpressionHandler
public void setSearchExpressionHandler(SearchExpressionHandler searchExpressionHandler)
アプリケーションが使用する
SearchExpressionHandler
インスタンスを設定します。- パラメーター:
searchExpressionHandler
-SearchExpressionHandler
- 例外:
NullPointerExceptionSE
- searchExpressionHandler がnull
の場合IllegalStateExceptionSE
- このアプリケーションのLifecycle
インスタンスによって少なくとも 1 つのリクエストが処理された後にこのメソッドが呼び出された場合。- 導入:
- 2.3
addSearchKeywordResolver
public void addSearchKeywordResolver(SearchKeywordResolver resolver)
引数
resolver
をリゾルバーチェーンの先頭に追加します。この方法で登録された
SearchKeywordResolver
は、一度登録すると削除できません。デフォルトの実装は
UnsupportedOperationException
をスローし、Application
を継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。- パラメーター:
resolver
- 追加する SearchKeywordResolver。- 例外:
IllegalStateExceptionSE
-FacesServlet
への最初のリクエストが処理された後に呼び出された場合。NullPointerExceptionSE
- リゾルバーが null の場合。- 導入:
- 2.3
getSearchKeywordResolver
public SearchKeywordResolver getSearchKeywordResolver()
すべての検索キーワード解決に使用されるシングルトン
SearchKeywordResolver
インスタンスを返します。これは実際には複合 SearchKeywordResolver のインスタンスであり、次のSearchKeywordResolver
インスタンスを次の順序で含める必要があります。アプリケーション構成リソースの <search-keyword-resolver> 要素を使用して宣言された
SearchKeywordResolver
インスタンス。addSearchKeywordResolver(jakarta.faces.component.search.SearchKeywordResolver)
の呼び出しによって追加されたSearchKeywordResolver
インスタンス。@all
、@child(n)
、@form
、@id(...)
、@namingcontainer
、@next
、@none
、@parent
、@previous
、@root
、@this
のSearchKeywordResolver
実装。
デフォルトの実装は
UnsupportedOperationException
をスローし、Application
を継承する既存のアプリケーションを壊さないという唯一の目的のために提供されています。- 戻り値:
SearchKeywordResolver
- 導入:
- 2.3