インターフェース AnnotatedTypeMetadata

すべての既知のサブインターフェース:
AnnotationMetadataMethodMetadata
すべての既知の実装クラス:
StandardAnnotationMetadataStandardMethodMetadata

public interface AnnotatedTypeMetadata
インスペクション対象の型のクラスロードを必ずしも必要としない形式で、特定の型 ( class または method ) のアノテーションへのアクセスを定義します。ただし、検出されたアノテーションのクラスがロードされることに注意してください。
導入:
4.0
作成者:
Juergen Hoeller, Mark Fisher, Mark Pollack, Chris Beams, Phillip Webb, Sam Brannen
関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    指定された型のすべてのアノテーションのすべての属性があれば、それを取得します(つまり
    getAllAnnotationAttributes(StringSE annotationName, boolean classValuesAsString)
    指定された型のすべてのアノテーションのすべての属性があれば、それを取得します(つまり
    指定された型のアノテーションの属性があれば、それを取得します(つまり
    getAnnotationAttributes(StringSE annotationName, boolean classValuesAsString)
    指定された型のアノテーションの属性があれば、それを取得します(つまり
    基礎となる要素の直接アノテーションとメタアノテーションに基づいてアノテーションの詳細を取得します。
    getMergedRepeatableAnnotationAttributes(ClassSE<? extends AnnotationSE> annotationType, ClassSE<? extends AnnotationSE> containerType, boolean classValuesAsString)
    基になる要素の上のアノテーション階層内の指定された型の反復可能なアノテーションをすべて取得します (直接アノテーションまたはメタアノテーションとして)。そして、見つかった各アノテーションについて、そのアノテーションの属性を、アノテーション階層の下位レベルにあるアノテーションの一致する属性とマージし、その結果を AnnotationAttributes のインスタンスに保存します。
    getMergedRepeatableAnnotationAttributes(ClassSE<? extends AnnotationSE> annotationType, ClassSE<? extends AnnotationSE> containerType, boolean classValuesAsString, boolean sortByReversedMetaDistance)
    基になる要素の上のアノテーション階層内の指定された型の反復可能なアノテーションをすべて取得します (直接アノテーションまたはメタアノテーションとして)。そして、見つかった各アノテーションについて、そのアノテーションの属性を、アノテーション階層の下位レベルにあるアノテーションの一致する属性とマージし、その結果を 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

      default boolean isAnnotated(StringSE annotationName)
      基になる要素に、指定された型のアノテーションまたはメタアノテーションが定義されているかどうかを判別します。

      このメソッドが true を返す場合、getAnnotationAttributes(java.lang.String) は null 以外のマップを返します。

      パラメーター:
      annotationName - 検索するアノテーション型の完全修飾クラス名
      戻り値:
      一致するアノテーションが定義されているかどうか
    • getAnnotationAttributes

      @Nullable default MapSE<StringSE,ObjectSE> getAnnotationAttributes(StringSE annotationName)
      指定された型のアノテーションの属性があれば、その属性を取得します (つまり、基礎となる要素に直接アノテーションまたはメタアノテーションとして定義されている場合)。

      @AliasFor セマンティクスは、単一のアノテーション内とアノテーション階層内の両方で完全にサポートされています。

      パラメーター:
      annotationName - 検索するアノテーション型の完全修飾クラス名
      戻り値:
      各アノテーションの属性名をマップキー (例: "location" ) として、属性の値をマップ値として持つ属性の MapSE。一致するアノテーションが見つからない場合は null 
    • getAnnotationAttributes

      @Nullable default MapSE<StringSE,ObjectSE> getAnnotationAttributes(StringSE annotationName, boolean classValuesAsString)
      指定された型のアノテーションの属性があれば、その属性を取得します (つまり、基礎となる要素に直接アノテーションまたはメタアノテーションとして定義されている場合)。

      @AliasFor セマンティクスは、単一のアノテーション内とアノテーション階層内の両方で完全にサポートされています。

      パラメーター:
      annotationName - 検索するアノテーション型の完全修飾クラス名
      classValuesAsString - クラス参照を String クラス名に変換して、最初にロードする必要がある可能性のあるクラス参照の代わりに、返されたマップの値として公開するかどうか
      戻り値:
      各アノテーションの属性名をマップキー (例: "location" ) として、属性の値をマップ値として持つ属性の MapSE。一致するアノテーションが見つからない場合は null 
    • getAllAnnotationAttributes

      @Nullable default MultiValueMap<StringSE,ObjectSE> getAllAnnotationAttributes(StringSE annotationName)
      指定された型のすべてのアノテーションのすべての属性を取得します (存在する場合) (つまり、基礎となる要素で直接アノテーションまたはメタアノテーションとして定義されている場合)。

      メモ: このメソッドは、合成されたアノテーションの属性オーバーライドを考慮しません

      パラメーター:
      annotationName - 検索するアノテーション型の完全修飾クラス名
      戻り値:
      各アノテーションの属性名をマップキー (例: "location" ) として、属性の値のリストをマップ値として持つ属性の MultiValueMap。一致するアノテーションが見つからない場合は null 
      関連事項:
    • getAllAnnotationAttributes

      @Nullable default MultiValueMap<StringSE,ObjectSE> getAllAnnotationAttributes(StringSE annotationName, boolean classValuesAsString)
      指定された型のすべてのアノテーションのすべての属性を取得します (存在する場合) (つまり、基礎となる要素で直接アノテーションまたはメタアノテーションとして定義されている場合)。

      メモ: このメソッドは、合成されたアノテーションの属性オーバーライドを考慮しません

      パラメーター:
      annotationName - 検索するアノテーション型の完全修飾クラス名
      classValuesAsString - クラス参照を String クラス名に変換して、最初にロードする必要がある可能性のあるクラス参照の代わりに、返されたマップの値として公開するかどうか
      戻り値:
      各アノテーションの属性名をマップキー (例: "location" ) として、属性の値のリストをマップ値として持つ属性の MultiValueMap。一致するアノテーションが見つからない場合は 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 セマンティクスは、単一のアノテーション内とアノテーション階層内の両方で完全にサポートされています。

      提供された PredicateSE は結果をフィルタリングするために使用されます。例: 結果にすべてのアノテーションを含めるには、mergedAnnotation -> true を指定します。MergedAnnotation::isDirectlyPresent を指定して、結果を直接宣言されたアノテーションなどに制限します。

      sortByReversedMetaDistance フラグが true に設定されている場合、結果は各アノテーションのメタディスタンスに基づいて reversed 順に並べ替えられます。これにより、基礎となる要素で直接宣言されているアノテーションの前にメタアノテーションが効果的に並べられます。

      パラメーター:
      annotationType - 検索するアノテーション型
      containerType - アノテーションを保持するコンテナーの型
      predicate - Predicate を各 MergedAnnotation に適用して、結果に含めるかどうかを決定します。
      classValuesAsString - 最初にロードする必要がある可能性がある Class 参照ではなく、返された AnnotationAttributes の値として公開するために、クラス参照を String クラス名に変換するかどうか
      sortByReversedMetaDistance - true : 各アノテーションのメタ距離に基づいて結果を逆順に並べ替える必要がある場合
      戻り値:
      見つかったすべてのマージされた繰り返し可能な AnnotationAttributes のセット、または何も見つからなかった場合は空のセット
      導入:
      6.1.2
      関連事項: