インターフェース AnnotationTarget

  • すべての既知のサブインターフェース:
    ArrayTypeClassInfoClassTypeDeclarationInfoFieldInfoMethodInfoPackageInfoParameterInfoParameterizedTypePrimitiveTypeRecordComponentInfoTypeTypeVariableVoidTypeWildcardType

    public interface AnnotationTarget
    アノテーションターゲットは、アノテーションを付けることができるものすべてです。あれは:
    • クラス、メソッド、フィールドなどの宣言
    • メソッドパラメーターの、フィールドの型、型引数、型パラメーター、ジェネリクスクラスまたはメソッドの宣言などに存在する型など。
    hasAnnotationannotationrepeatableAnnotationannotations メソッドを使用して、このアノテーションターゲットに存在するアノテーションに関する情報を取得できます。「このアノテーションターゲットに存在する」という表現は、アノテーションが宣言されているか、このアノテーションターゲットで直接暗黙的に宣言されているか、このアノテーションターゲットがクラス宣言であり、アノテーションがスーパークラスから継承SEされていることを意味します。

    反復可能なSEアノテーション型の複数のアノテーションがアノテーションターゲットで宣言されている場合、暗黙的に宣言されたコンテナーアノテーションのみがアノテーションターゲットに存在することに注意してください。最初に宣言されたアノテーションはそうではありません。反復可能なアノテーション型のアノテーションが 1 つだけアノテーションターゲットで宣言されている場合、そのアノテーションは存在します。

    アノテーションは AnnotationInfo として表されるため、このインターフェースの実装でアノテーション型をインスタンス化する必要はありません。

    equals および hashCode メソッドを定義するには、このインターフェースの実装が必要です。このインターフェースの実装では、対応する Java™ に似たテキストを返すように toString メソッドを定義することをお勧めします。構文。

    このインターフェースの実装によって表される特定の構成体が、常に同じオブジェクトによって表されるという保証はありません。これには、java.lang.Object クラス宣言や void 疑似型などの自然なシングルトンが含まれます。インスタンスは常に equals を使用して比較する必要があります。

    導入:
    4.0
    • メソッドの詳細

      • isDeclaration

        boolean isDeclaration()
        このアノテーションターゲットが宣言であるかどうかを返します。
        戻り値:
        これが宣言の場合は true、それ以外の場合は false 
      • isType

        boolean isType()
        このアノテーションターゲットが type かどうかを返します。
        戻り値:
        これが型の場合は true、それ以外の場合は false 
      • asType

        Type asType()
        このアノテーションターゲットを type として返します。
        戻り値:
        この型、決して null
        例外:
        IllegalStateExceptionSE - isType() が false を返す場合
      • hasAnnotation

        boolean hasAnnotation​(ClassSE<? extends AnnotationSE> annotationType)
        指定された型のアノテーションがこのアノテーションターゲットに存在するかどうかを返します。
        パラメーター:
        annotationType - アノテーション型。null であってはなりません
        戻り値:
        指定されたアノテーション型がこのアノテーションターゲットに存在する場合は true、それ以外の場合は false 
      • hasAnnotation

        boolean hasAnnotation​(PredicateSE<AnnotationInfo> predicate)
        指定された述語が、このアノテーションターゲットに存在するアノテーションと一致するかどうかを返します。
        パラメーター:
        predicate - アノテーション述語。null であってはなりません
        戻り値:
        指定された述語がこのアノテーションターゲットに存在するアノテーションと一致する場合は true、それ以外の場合は false
      • annotation

        <T extends AnnotationSEAnnotationInfo annotation​(ClassSE<T> annotationType)
        このアノテーションターゲットに存在する場合、指定された型のアノテーションを返します。そのようなアノテーションが存在しない場合は、null を返します。
        型パラメーター:
        T - アノテーションのジェネリクス型
        パラメーター:
        annotationType - アノテーション型。null であってはなりません
        戻り値:
        そのようなアノテーションが存在しない場合は AnnotationInfo または null 
      • repeatableAnnotation

        <T extends AnnotationSECollectionSE<AnnotationInfo> repeatableAnnotation​(ClassSE<T> annotationType)
        このアノテーションターゲットに存在する特定の反復可能なSEannotationType のアノテーションのコレクションを返します。そのようなアノテーションが存在しない場合は、空のコレクションを返します。

        このメソッドの目的のために、コンテナーアノテーションの value メンバー内のアノテーションは、@RepeatableSE を使用して定義されているように、コンテナーアノテーションが存在するアノテーションターゲットに存在すると見なされます。

        型パラメーター:
        T - アノテーションのジェネリクス型
        パラメーター:
        annotationType - @Repeatable アノテーション型。null であってはなりません
        戻り値:
        AnnotationInfo の不変コレクション、決して null
      • annotations

        CollectionSE<AnnotationInfo> annotations​(PredicateSE<AnnotationInfo> predicate)
        指定された述語に一致する、このアノテーションターゲットに存在するすべてのアノテーションのコレクションを返します。そのようなアノテーションが存在しない場合は、空のコレクションを返します。
        パラメーター:
        predicate - アノテーション述語。null であってはなりません
        戻り値:
        AnnotationInfo の不変コレクション、決して null
      • annotations

        CollectionSE<AnnotationInfo> annotations()
        このアノテーションターゲットに存在するすべてのアノテーションのコレクションを返します。アノテーションが存在しない場合は、空のコレクションを返します。
        戻り値:
        AnnotationInfo の不変コレクション、決して null