インターフェース AnnotatedTypeMetadata
- すべての既知のサブインターフェース:
AnnotationMetadata
,MethodMetadata
- すべての既知の実装クラス:
StandardAnnotationMetadata
,StandardMethodMetadata
class
または method
) のアノテーションへのアクセスを定義します。ただし、検出されたアノテーションのクラスがロードされることに注意してください。- 導入:
- 4.0
- 作成者:
- Juergen Hoeller, Mark Fisher, Mark Pollack, Chris Beams, Phillip Webb, Sam Brannen
- 関連事項:
方法の概要
修飾子と型メソッド説明default MultiValueMap<StringSE,
ObjectSE> getAllAnnotationAttributes
(StringSE annotationName) 指定された型のすべてのアノテーションのすべての属性があれば、それを取得します(つまりdefault MultiValueMap<StringSE,
ObjectSE> getAllAnnotationAttributes
(StringSE annotationName, boolean classValuesAsString) 指定された型のすべてのアノテーションのすべての属性があれば、それを取得します(つまりgetAnnotationAttributes
(StringSE annotationName) 指定された型のアノテーションの属性があれば、それを取得します(つまりgetAnnotationAttributes
(StringSE annotationName, boolean classValuesAsString) 指定された型のアノテーションの属性があれば、それを取得します(つまり基礎となる要素の直接アノテーションとメタアノテーションに基づいてアノテーションの詳細を取得します。default SetSE<AnnotationAttributes>
getMergedRepeatableAnnotationAttributes
(ClassSE<? extends AnnotationSE> annotationType, ClassSE<? extends AnnotationSE> containerType, boolean classValuesAsString) 基になる要素の上のアノテーション階層内の指定された型の反復可能なアノテーションをすべて取得します (直接アノテーションまたはメタアノテーションとして)。そして、見つかった各アノテーションについて、そのアノテーションの属性を、アノテーション階層の下位レベルにあるアノテーションの一致する属性とマージし、その結果をAnnotationAttributes
のインスタンスに保存します。default SetSE<AnnotationAttributes>
getMergedRepeatableAnnotationAttributes
(ClassSE<? extends AnnotationSE> annotationType, ClassSE<? extends AnnotationSE> containerType, boolean classValuesAsString, boolean sortByReversedMetaDistance) 基になる要素の上のアノテーション階層内の指定された型の反復可能なアノテーションをすべて取得します (直接アノテーションまたはメタアノテーションとして)。そして、見つかった各アノテーションについて、そのアノテーションの属性を、アノテーション階層の下位レベルにあるアノテーションの一致する属性とマージし、その結果をAnnotationAttributes
のインスタンスに保存します。default SetSE<AnnotationAttributes>
getMergedRepeatableAnnotationAttributes
(ClassSE<? extends AnnotationSE> annotationType, ClassSE<? extends AnnotationSE> containerType, PredicateSE<MergedAnnotation<? extends AnnotationSE>> predicate, boolean classValuesAsString, boolean sortByReversedMetaDistance) 基になる要素の上のアノテーション階層内の指定された型の反復可能なアノテーションをすべて取得します (直接アノテーションまたはメタアノテーションとして)。そして、見つかった各アノテーションについて、そのアノテーションの属性を、アノテーション階層の下位レベルにあるアノテーションの一致する属性とマージし、その結果をAnnotationAttributes
のインスタンスに保存します。default boolean
isAnnotated
(StringSE annotationName) 基になる要素に、指定された型のアノテーションまたはメタアノテーションが定義されているかどうかを判別します。
メソッドの詳細
getAnnotations
MergedAnnotations getAnnotations()基礎となる要素の直接アノテーションとメタアノテーションに基づいてアノテーションの詳細を取得します。- 戻り値:
- 直接アノテーションとメタアノテーションに基づいてマージされたアノテーション
- 導入:
- 5.2
isAnnotated
基になる要素に、指定された型のアノテーションまたはメタアノテーションが定義されているかどうかを判別します。このメソッドが
true
を返す場合、getAnnotationAttributes(java.lang.String)
は null 以外のマップを返します。- パラメーター:
annotationName
- 検索するアノテーション型の完全修飾クラス名- 戻り値:
- 一致するアノテーションが定義されているかどうか
getAnnotationAttributes
指定された型のアノテーションの属性があれば、その属性を取得します (つまり、基礎となる要素に直接アノテーションまたはメタアノテーションとして定義されている場合)。@AliasFor
セマンティクスは、単一のアノテーション内とアノテーション階層内の両方で完全にサポートされています。- パラメーター:
annotationName
- 検索するアノテーション型の完全修飾クラス名- 戻り値:
- 属性の
Map
SE。各アノテーション属性名がマップキー(たとえば、"location" )として、属性の値がマップ値として使用されます。一致するアノテーションが見つからない場合はnull
になります。
getAnnotationAttributes
@Nullable default MapSE<StringSE,ObjectSE> getAnnotationAttributes(StringSE annotationName, boolean classValuesAsString) 指定された型のアノテーションの属性があれば、その属性を取得します (つまり、基礎となる要素に直接アノテーションまたはメタアノテーションとして定義されている場合)。@AliasFor
セマンティクスは、単一のアノテーション内とアノテーション階層内の両方で完全にサポートされています。- パラメーター:
annotationName
- 検索するアノテーション型の完全修飾クラス名classValuesAsString
- クラス参照を String クラス名に変換して、最初にロードする必要がある可能性のあるクラス参照の代わりに、返されたマップの値として公開するかどうか- 戻り値:
- 属性の
Map
SE。各アノテーション属性名がマップキー(たとえば、"location" )として、属性の値がマップ値として使用されます。一致するアノテーションが見つからない場合はnull
になります。
getAllAnnotationAttributes
@Nullable default MultiValueMap<StringSE,ObjectSE> getAllAnnotationAttributes(StringSE annotationName) 指定された型のすべてのアノテーションのすべての属性を取得します (存在する場合) (つまり、基礎となる要素で直接アノテーションまたはメタアノテーションとして定義されている場合)。メモ: このメソッドは、合成されたアノテーションの属性オーバーライドを考慮しません。
- パラメーター:
annotationName
- 検索するアノテーション型の完全修飾クラス名- 戻り値:
- 属性の
MultiValueMap
。各アノテーション属性名がマップキー(たとえば、"location" )として、属性値のリストがマップ値として使用されます。一致するアノテーションが見つからない場合はnull
になります。 - 関連事項:
getAllAnnotationAttributes
@Nullable default MultiValueMap<StringSE,ObjectSE> getAllAnnotationAttributes(StringSE annotationName, boolean classValuesAsString) 指定された型のすべてのアノテーションのすべての属性を取得します (存在する場合) (つまり、基礎となる要素で直接アノテーションまたはメタアノテーションとして定義されている場合)。メモ: このメソッドは、合成されたアノテーションの属性オーバーライドを考慮しません。
- パラメーター:
annotationName
- 検索するアノテーション型の完全修飾クラス名classValuesAsString
- クラス参照を String クラス名に変換して、最初にロードする必要がある可能性のあるクラス参照の代わりに、返されたマップの値として公開するかどうか- 戻り値:
- 属性の
MultiValueMap
。各アノテーション属性名がマップキー(たとえば、"location" )として、属性値のリストがマップ値として使用されます。一致するアノテーションが見つからない場合はnull
になります。 - 関連事項:
getMergedRepeatableAnnotationAttributes
default SetSE<AnnotationAttributes> getMergedRepeatableAnnotationAttributes(ClassSE<? extends AnnotationSE> annotationType, ClassSE<? extends AnnotationSE> containerType, boolean classValuesAsString) 基になる要素の上のアノテーション階層内の指定された型の反復可能なアノテーションをすべて取得します (直接アノテーションまたはメタアノテーションとして)。そして、見つかった各アノテーションについて、そのアノテーションの属性を、アノテーション階層の下位レベルにあるアノテーションの一致する属性とマージし、その結果をAnnotationAttributes
のインスタンスに保存します。@AliasFor
セマンティクスは、単一のアノテーション内とアノテーション階層内の両方で完全にサポートされています。- パラメーター:
annotationType
- 検索するアノテーション型containerType
- アノテーションを保持するコンテナーの型classValuesAsString
- 最初にロードする必要がある可能性があるClass
参照ではなく、返されたAnnotationAttributes
の値として公開するために、クラス参照をString
クラス名に変換するかどうか- 戻り値:
- 見つかったすべてのマージされた繰り返し可能な
AnnotationAttributes
のセット、または何も見つからなかった場合は空のセット - 導入:
- 6.1
- 関連事項:
getMergedRepeatableAnnotationAttributes
default SetSE<AnnotationAttributes> getMergedRepeatableAnnotationAttributes(ClassSE<? extends AnnotationSE> annotationType, ClassSE<? extends AnnotationSE> containerType, boolean classValuesAsString, boolean sortByReversedMetaDistance) 基になる要素の上のアノテーション階層内の指定された型の反復可能なアノテーションをすべて取得します (直接アノテーションまたはメタアノテーションとして)。そして、見つかった各アノテーションについて、そのアノテーションの属性を、アノテーション階層の下位レベルにあるアノテーションの一致する属性とマージし、その結果をAnnotationAttributes
のインスタンスに保存します。@AliasFor
セマンティクスは、単一のアノテーション内とアノテーション階層内の両方で完全にサポートされています。sortByReversedMetaDistance
フラグがtrue
に設定されている場合、結果は各アノテーションのメタディスタンスに基づいてreversed
順に並べ替えられます。これにより、基礎となる要素で直接宣言されているアノテーションの前にメタアノテーションが効果的に並べられます。- パラメーター:
annotationType
- 検索するアノテーション型containerType
- アノテーションを保持するコンテナーの型classValuesAsString
- 最初にロードする必要がある可能性があるClass
参照ではなく、返されたAnnotationAttributes
の値として公開するために、クラス参照をString
クラス名に変換するかどうかsortByReversedMetaDistance
-true
: 各アノテーションのメタ距離に基づいて結果を逆順に並べ替える必要がある場合- 戻り値:
- 見つかったすべてのマージされた繰り返し可能な
AnnotationAttributes
のセット、または何も見つからなかった場合は空のセット - 導入:
- 6.1
- 関連事項:
getMergedRepeatableAnnotationAttributes
default SetSE<AnnotationAttributes> getMergedRepeatableAnnotationAttributes(ClassSE<? extends AnnotationSE> annotationType, ClassSE<? extends AnnotationSE> containerType, PredicateSE<MergedAnnotation<? extends AnnotationSE>> predicate, boolean classValuesAsString, boolean sortByReversedMetaDistance) 基になる要素の上のアノテーション階層内の指定された型の反復可能なアノテーションをすべて取得します (直接アノテーションまたはメタアノテーションとして)。そして、見つかった各アノテーションについて、そのアノテーションの属性を、アノテーション階層の下位レベルにあるアノテーションの一致する属性とマージし、その結果をAnnotationAttributes
のインスタンスに保存します。@AliasFor
セマンティクスは、単一のアノテーション内とアノテーション階層内の両方で完全にサポートされています。提供された
Predicate
SE は結果をフィルタリングするために使用されます。例: 結果にすべてのアノテーションを含めるには、mergedAnnotation -> true
を指定します。MergedAnnotation::isDirectlyPresent
を指定して、結果を直接宣言されたアノテーションなどに制限します。sortByReversedMetaDistance
フラグがtrue
に設定されている場合、結果は各アノテーションのメタディスタンスに基づいてreversed
順に並べ替えられます。これにより、基礎となる要素で直接宣言されているアノテーションの前にメタアノテーションが効果的に並べられます。- パラメーター:
annotationType
- 検索するアノテーション型containerType
- アノテーションを保持するコンテナーの型predicate
-Predicate
を各MergedAnnotation
に適用して、結果に含めるかどうかを決定します。classValuesAsString
- 最初にロードする必要がある可能性があるClass
参照ではなく、返されたAnnotationAttributes
の値として公開するために、クラス参照をString
クラス名に変換するかどうかsortByReversedMetaDistance
-true
: 各アノテーションのメタ距離に基づいて結果を逆順に並べ替える必要がある場合- 戻り値:
- 見つかったすべてのマージされた繰り返し可能な
AnnotationAttributes
のセット、または何も見つからなかった場合は空のセット - 導入:
- 6.1.2
- 関連事項: