アノテーション型 FacesConverter
@RetentionSE(RUNTIMESE) @TargetSE({TYPESE,FIELDSE,METHODSE,PARAMETERSE}) @InheritedSE @Qualifier public @interface 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 ドキュメントを参照してください。
オプション要素の概要
オプション要素 修飾子と型 オプションの要素 説明 ClassSEforClassこのアノテーションの属性の値は、コンバーター - のためのクラスコンバーターのこのクラスのインスタンスはApplication.createConverter(java.lang.Class)を呼び出してインスタンス化することが可能なように解釈されます。booleanmanagedこのアノテーション属性の値は、指定されたコンバーターが CDI 管理のコンバーターであるかどうかを示すインジケーターとして解釈されます。StringSEvalueこのアノテーション属性の値は、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