アノテーションインターフェース FacesConverter
クラスにこのアノテーションが存在すると、クラスはランタイムに Converter
として自動的に登録されます。value()
属性の値は Converter-id とみなされ、forClass()
属性の値は Converter-for-class とみなされ、このアノテーションが付加されているクラスの完全修飾クラス名はコンバーターとみなされます。- クラス。実装では、Jakarta Faces Specification Document のセクション 11.4「アプリケーション構成リソースのエントリに対応し、そのエントリの代わりとなるアノテーション」のアルゴリズムで見つかった FacesConverter
のアノテーションが付けられたクラスごとに、Application.addConverter()
の適切なバリアントが呼び出されることを保証する必要があります。Converter-id が空の文字列でない場合は、Application.addConverter(java.lang.String,java.lang.String)
が呼び出され、派生した Converter-ID を最初の引数として渡し、派生した Converter-Class を 2 番目の引数として渡します。Converter-id が空の文字列の場合、Application.addConverter(java.lang.Class,java.lang.String)
が呼び出され、converter-for-class を最初の引数として渡し、派生した Converter-class を 2 番目の引数として渡します。実装では、addConverter()
へのこのようなすべての呼び出しがアプリケーションの起動時およびリクエストが処理される前に発生することを保証する必要があります。
前のテキストには、アプリケーションのユーザーが理解する必要がある重要な微妙さが含まれています。単一の @FacesConverter
アノテーションを使用して、 by-class
および by-converter-id
データ構造の両方で単一の Converter
実装を登録することはできません。この結果を達成する 1 つの方法は、@FacesConverter
アノテーションなしで抽象基本クラスに実際のコンバーターロジックを配置し、それぞれ @FacesConverter
アノテーション付きの 2 つのサブクラスを派生させることです。1 つのサブクラスには value
属性がありますが、forClass
属性はなく、他のサブクラスにはその逆があります。
コンバーターとコレクションに関する別の重要な微妙な点については、 <h:selectManyListBox>
の ViewDeclarationLanguage ドキュメントを参照してください。
ネストされたクラスのサマリー
ネストされたクラスオプション要素の概要
オプション要素修飾子と型オプションの要素説明このアノテーションの属性の値は、コンバーター - のためのクラスコンバーターのこのクラスのインスタンスはApplication.createConverter(java.lang.Class)
を呼び出してインスタンス化することが可能なように解釈されます。boolean
このアノテーション属性の値は、指定されたコンバーターが CDI 管理のコンバーターであるかどうかを示すインジケーターとして解釈されます。このアノテーション属性の値は、Application.createConverter(java.lang.String)
を呼び出すことにより、このクラスのコンバーターのインスタンスをインスタンス化できる converter-id と見なされます。
要素の詳細
value
StringSE valueこのアノテーション属性の値は、
Application.createConverter(java.lang.String)
を呼び出すことにより、このクラスのコンバーターのインスタンスをインスタンス化できる converter-id と見なされます。- 戻り値:
- コンバーター ID
- デフォルト:
- ""
forClass
ClassSE forClassこのアノテーションの属性の値は、コンバーター - のためのクラスコンバーターのこのクラスのインスタンスは
Application.createConverter(java.lang.Class)
を呼び出してインスタンス化することが可能なように解釈されます。- 戻り値:
- クラス
- デフォルト:
- java.lang.Object.class
managed
boolean managedこのアノテーション属性の値は、指定されたコンバーターが CDI 管理のコンバーターであるかどうかを示すインジケーターとして解釈されます。
- 戻り値:
- このコンバーターが CDI によって管理されているかどうか
- デフォルト:
- false