クラス RepeatableContainers
RepeatableContainers.standardRepeatables() は、Java の @RepeatableSE サポートを考慮し、ほとんどの状況に適したデフォルトの戦略を提供します。
@Repeatable を使用しない繰り返し可能なアノテーション型を登録する必要がある場合は、通常、standardRepeatables() と plus(Class, Class) を組み合わせて使用します。plus() を複数回呼び出して連鎖させることで、複数の繰り返し可能型 / コンテナー型のペアを登録できます。例:
RepeatableContainers repeatableContainers =
RepeatableContainers.standardRepeatables()
.plus(MyRepeatable1.class, MyContainer1.class)
.plus(MyRepeatable2.class, MyContainer2.class);Java の @Repeatable サポートが不要であることが確実な特殊なユースケースでは、RepeatableContainers.explicitRepeatable() を使用して、明示的な繰り返し可能型 / コンテナー型ペアのみをサポートする RepeatableContainers のインスタンスを作成できます。standardRepeatables() と同様に、plus() を使用して追加の繰り返し可能型 / コンテナー型ペアを登録できます。たとえば、次のようになります。
RepeatableContainers repeatableContainers =
RepeatableContainers.explicitRepeatable(MyRepeatable1.class, MyContainer1.class)
.plus(MyRepeatable2.class, MyContainer2.class); 繰り返し可能なアノテーションのサポートを完全に無効にするには、RepeatableContainers.none() を使用します。
- 導入:
- 5.2
- 作成者:
- Phillip Webb, Sam Brannen
メソッドのサマリー
修飾子と型メソッド説明and(ClassSE<? extends AnnotationSE> container, ClassSE<? extends AnnotationSE> repeatable) 使用すべきではありません。booleanstatic RepeatableContainersexplicitRepeatable(ClassSE<? extends AnnotationSE> repeatable, @Nullable ClassSE<? extends AnnotationSE> container) 提供された繰り返し可能なアノテーション型とコンテナーアノテーション型を考慮して、繰り返しアノテーションを検索するRepeatableContainersインスタンスを作成します。inthashCode()static RepeatableContainersnone()繰り返し可能なアノテーションをサポートしないRepeatableContainersインスタンスを作成します。static RepeatableContainersof(ClassSE<? extends AnnotationSE> repeatable, @Nullable ClassSE<? extends AnnotationSE> container) 使用すべきではありません。Spring Framework 7.0 現在、explicitRepeatable(Class, Class)を推奨final RepeatableContainersplus(ClassSE<? extends AnnotationSE> repeatable, ClassSE<? extends AnnotationSE> container) 繰り返し可能なアノテーション型とコンテナーアノテーション型のペアを登録します。static RepeatableContainersJava の@RepeatableSE アノテーションのセマンティクスに従って繰り返しアノテーションを検索するRepeatableContainersインスタンスを作成します。
メソッドの詳細
plus
public final RepeatableContainers plus(ClassSE<? extends AnnotationSE> repeatable, ClassSE<? extends AnnotationSE> container) 繰り返し可能なアノテーション型とコンテナーアノテーション型のペアを登録します。例については、クラスレベルの javadoc を参照してください。
- パラメーター:
repeatable- 繰り返し可能なアノテーション型container- コンテナーのアノテーション型- 戻り値:
- 現在のインスタンスに連鎖された新しい
RepeatableContainersインスタンス - 導入:
- 7.0
and
@DeprecatedSE(since="7.0") public RepeatableContainers and(ClassSE<? extends AnnotationSE> container, ClassSE<? extends AnnotationSE> repeatable) 使用すべきではありません。Spring Framework 7.0 現在、plus(Class, Class)を推奨コンテナーと繰り返し可能なアノテーション型のペアを登録します。警告 : このメソッドに提供される引数は、
plus(Class, Class)、explicitRepeatable(Class, Class)、of(Class, Class)に提供される引数の逆の順序になります。- パラメーター:
container- コンテナーのアノテーション型repeatable- 繰り返し可能なアノテーション型- 戻り値:
- 現在のインスタンスに連鎖された新しい
RepeatableContainersインスタンス
equals
hashCode
standardRepeatables
Java の@RepeatableSE アノテーションのセマンティクスに従って繰り返しアノテーションを検索するRepeatableContainersインスタンスを作成します。例については、クラスレベルの javadoc を参照してください。
- 戻り値:
@RepeatableをサポートするRepeatableContainersインスタンス- 関連事項:
explicitRepeatable
public static RepeatableContainers explicitRepeatable(ClassSE<? extends AnnotationSE> repeatable, @Nullable ClassSE<? extends AnnotationSE> container) 提供された繰り返し可能なアノテーション型とコンテナーアノテーション型を考慮して、繰り返しアノテーションを検索するRepeatableContainersインスタンスを作成します。警告 : このファクトリメソッドによって返される
RepeatableContainersインスタンスは、Java の@RepeatableSE サポートに準拠していません。標準の@RepeatableサポートにはstandardRepeatables()を使用してください。オプションでplus(Class, Class)と組み合わせて使用することもできます。指定されたコンテナーアノテーション型が
nullでない場合、繰り返し可能なアノテーションの配列を返すvalue属性を宣言する必要があります。指定されたコンテナーアノテーション型がnullの場合、コンテナーはrepeatableアノテーション型の@Repeatableアノテーションを調べることで推測されます。例については、クラスレベルの javadoc を参照してください。
- パラメーター:
repeatable- 繰り返し可能なアノテーション型container- コンテナーアノテーション型またはnull- 戻り値:
@RepeatableSE をサポートしないRepeatableContainersインスタンス- 例外:
IllegalArgumentExceptionSE- 提供されたコンテナー型がnullで、アノテーション型が繰り返し可能なアノテーションでない場合AnnotationConfigurationException- 提供されたコンテナー型が、繰り返し可能なアノテーション用に適切に構成されたコンテナーでない場合- 導入:
- 7.0
- 関連事項:
of
@DeprecatedSE(since="7.0") public static RepeatableContainers of(ClassSE<? extends AnnotationSE> repeatable, @Nullable ClassSE<? extends AnnotationSE> container) 使用すべきではありません。Spring Framework 7.0 現在、explicitRepeatable(Class, Class)を推奨提供された繰り返し可能なアノテーション型とコンテナーアノテーション型を考慮して、繰り返しアノテーションを検索するRepeatableContainersインスタンスを作成します。警告 : このファクトリメソッドによって返される
RepeatableContainersインスタンスは、Java の@RepeatableSE サポートに準拠していません。標準の@RepeatableサポートにはstandardRepeatables()を使用してください。オプションでplus(Class, Class)と組み合わせて使用することもできます。警告 : このメソッドに提供される引数は、
and(Class, Class)に提供される引数の逆の順序になります。指定されたコンテナーアノテーション型が
nullでない場合、繰り返し可能なアノテーションの配列を返すvalue属性を宣言する必要があります。指定されたコンテナーアノテーション型がnullの場合、コンテナーはrepeatableアノテーション型の@Repeatableアノテーションを調べることで推測されます。- パラメーター:
repeatable- 繰り返し可能なアノテーション型container- コンテナーアノテーション型またはnull- 戻り値:
@RepeatableSE をサポートしないRepeatableContainersインスタンス- 例外:
IllegalArgumentExceptionSE- 提供されたコンテナー型がnullで、アノテーション型が繰り返し可能なアノテーションでない場合AnnotationConfigurationException- 提供されたコンテナー型が、繰り返し可能なアノテーション用に適切に構成されたコンテナーでない場合
none
繰り返し可能なアノテーションをサポートしないRepeatableContainersインスタンスを作成します。ただし、このメソッドから返される
RepeatableContainersインスタンスでは、plus(Class, Class)が引き続き呼び出される可能性があることに注意してください。例と詳細については、クラスレベルの javadoc を参照してください。
- 戻り値:
- 繰り返し可能なアノテーションをサポートしない
RepeatableContainersインスタンス
plus(Class, Class)を推奨