インターフェース AnnotationTarget
- すべての既知のサブインターフェース:
ArrayType
、ClassInfo
、ClassType
、DeclarationInfo
、FieldInfo
、MethodInfo
、PackageInfo
、ParameterInfo
、ParameterizedType
、PrimitiveType
、RecordComponentInfo
、Type
、TypeVariable
、VoidType
、WildcardType
public interface AnnotationTarget
アノテーションターゲットは、アノテーションを付けることができるものすべてです。あれは:hasAnnotation
、annotation
、repeatableAnnotation
、annotations
メソッドを使用して、このアノテーションターゲットに存在するアノテーションに関する情報を取得できます。「このアノテーションターゲットに存在する」という表現は、アノテーションが宣言されているか、このアノテーションターゲットで直接暗黙的に宣言されているか、このアノテーションターゲットがクラス宣言であり、アノテーションがスーパークラスから継承SEされていることを意味します。反復可能なSEアノテーション型の複数のアノテーションがアノテーションターゲットで宣言されている場合、暗黙的に宣言されたコンテナーアノテーションのみがアノテーションターゲットに存在することに注意してください。最初に宣言されたアノテーションはそうではありません。反復可能なアノテーション型のアノテーションが 1 つだけアノテーションターゲットで宣言されている場合、そのアノテーションは存在します。
アノテーションは
AnnotationInfo
として表されるため、このインターフェースの実装でアノテーション型をインスタンス化する必要はありません。equals
およびhashCode
メソッドを定義するには、このインターフェースの実装が必要です。このインターフェースの実装では、対応する Java™ に似たテキストを返すようにtoString
メソッドを定義することをお勧めします。構文。このインターフェースの実装によって表される特定の構成体が、常に同じオブジェクトによって表されるという保証はありません。これには、
java.lang.Object
クラス宣言やvoid
疑似型などの自然なシングルトンが含まれます。インスタンスは常にequals
を使用して比較する必要があります。- 導入:
- 4.0
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 <T extends AnnotationSE>
AnnotationInfoannotation(ClassSE<T> annotationType)
このアノテーションターゲットに存在する場合、指定された型のアノテーションを返します。CollectionSE<AnnotationInfo>
annotations()
このアノテーションターゲットに存在するすべてのアノテーションのコレクションを返します。CollectionSE<AnnotationInfo>
annotations(PredicateSE<AnnotationInfo> predicate)
指定された述語に一致する、このアノテーションターゲットに存在するすべてのアノテーションのコレクションを返します。DeclarationInfo
asDeclaration()
このアノテーションターゲットを宣言として返します。Type
asType()
このアノテーションターゲットを type として返します。boolean
hasAnnotation(ClassSE<? extends AnnotationSE> annotationType)
指定された型のアノテーションがこのアノテーションターゲットに存在するかどうかを返します。boolean
hasAnnotation(PredicateSE<AnnotationInfo> predicate)
指定された述語が、このアノテーションターゲットに存在するアノテーションと一致するかどうかを返します。boolean
isDeclaration()
このアノテーションターゲットが宣言であるかどうかを返します。boolean
isType()
このアノテーションターゲットが type かどうかを返します。<T extends AnnotationSE>
CollectionSE<AnnotationInfo>repeatableAnnotation(ClassSE<T> annotationType)
このアノテーションターゲットに存在する特定の反復可能なSEannotationType
のアノテーションのコレクションを返します。
メソッドの詳細
isDeclaration
boolean isDeclaration()
このアノテーションターゲットが宣言であるかどうかを返します。- 戻り値:
- これが宣言の場合は
true
、それ以外の場合はfalse
isType
boolean isType()
このアノテーションターゲットが type かどうかを返します。- 戻り値:
- これが型の場合は
true
、それ以外の場合はfalse
asDeclaration
DeclarationInfo asDeclaration()
このアノテーションターゲットを宣言として返します。- 戻り値:
- この宣言は、決して
null
ではありません - 例外:
IllegalStateExceptionSE
-isDeclaration()
が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 AnnotationSE> AnnotationInfo annotation(ClassSE<T> annotationType)
このアノテーションターゲットに存在する場合、指定された型のアノテーションを返します。そのようなアノテーションが存在しない場合は、null
を返します。- 型パラメーター:
T
- アノテーションのジェネリクス型- パラメーター:
annotationType
- アノテーション型。null
であってはなりません- 戻り値:
- そのようなアノテーションが存在しない場合は
AnnotationInfo
またはnull
repeatableAnnotation
<T extends AnnotationSE> CollectionSE<AnnotationInfo> repeatableAnnotation(ClassSE<T> annotationType)
このアノテーションターゲットに存在する特定の反復可能なSEannotationType
のアノテーションのコレクションを返します。そのようなアノテーションが存在しない場合は、空のコレクションを返します。このメソッドの目的のために、コンテナーアノテーションの
value
メンバー内のアノテーションは、@Repeatable
SE を使用して定義されているように、コンテナーアノテーションが存在するアノテーションターゲットに存在すると見なされます。- 型パラメーター:
T
- アノテーションのジェネリクス型- パラメーター:
annotationType
-@Repeatable
アノテーション型。null
であってはなりません- 戻り値:
AnnotationInfo
の不変コレクション、決してnull
annotations
CollectionSE<AnnotationInfo> annotations(PredicateSE<AnnotationInfo> predicate)
指定された述語に一致する、このアノテーションターゲットに存在するすべてのアノテーションのコレクションを返します。そのようなアノテーションが存在しない場合は、空のコレクションを返します。- パラメーター:
predicate
- アノテーション述語。null
であってはなりません- 戻り値:
AnnotationInfo
の不変コレクション、決してnull
annotations
CollectionSE<AnnotationInfo> annotations()
このアノテーションターゲットに存在するすべてのアノテーションのコレクションを返します。アノテーションが存在しない場合は、空のコレクションを返します。- 戻り値:
AnnotationInfo
の不変コレクション、決してnull