インターフェース 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) このアノテーションターゲットに存在する場合、指定された型のアノテーションを返します。このアノテーションターゲットに存在するすべてのアノテーションのコレクションを返します。annotations(PredicateSE<AnnotationInfo> predicate) 指定された述語に一致する、このアノテーションターゲットに存在するすべてのアノテーションのコレクションを返します。このアノテーションターゲットを宣言として返します。asType()このアノテーションターゲットを type として返します。booleanhasAnnotation(ClassSE<? extends AnnotationSE> annotationType) 指定された型のアノテーションがこのアノテーションターゲットに存在するかどうかを返します。booleanhasAnnotation(PredicateSE<AnnotationInfo> predicate) 指定された述語が、このアノテーションターゲットに存在するアノテーションと一致するかどうかを返します。booleanこのアノテーションターゲットが宣言であるかどうかを返します。booleanisType()このアノテーションターゲットが 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
指定された型のアノテーションがこのアノテーションターゲットに存在するかどうかを返します。- パラメーター:
annotationType- アノテーション型。nullであってはなりません- 戻り値:
- 指定されたアノテーション型がこのアノテーションターゲットに存在する場合は
true、それ以外の場合はfalse
hasAnnotation
指定された述語が、このアノテーションターゲットに存在するアノテーションと一致するかどうかを返します。- パラメーター:
predicate- アノテーション述語。nullであってはなりません- 戻り値:
- 指定された述語がこのアノテーションターゲットに存在するアノテーションと一致する場合は
true、それ以外の場合はfalse。
annotation
このアノテーションターゲットに存在する場合、指定された型のアノテーションを返します。そのようなアノテーションが存在しない場合は、nullを返します。- 型パラメーター:
T- アノテーションのジェネリクス型- パラメーター:
annotationType- アノテーション型。nullであってはなりません- 戻り値:
- そのようなアノテーションが存在しない場合は
AnnotationInfoまたはnull
repeatableAnnotation
<T extends AnnotationSE> CollectionSE<AnnotationInfo> repeatableAnnotation(ClassSE<T> annotationType) このアノテーションターゲットに存在する特定の反復可能なSEannotationTypeのアノテーションのコレクションを返します。そのようなアノテーションが存在しない場合は、空のコレクションを返します。このメソッドの目的のために、コンテナーアノテーションの
valueメンバー内のアノテーションは、@RepeatableSE を使用して定義されているように、コンテナーアノテーションが存在するアノテーションターゲットに存在すると見なされます。- 型パラメーター:
T- アノテーションのジェネリクス型- パラメーター:
annotationType-@Repeatableアノテーション型。nullであってはなりません- 戻り値:
AnnotationInfoの不変コレクション、決してnull
annotations
指定された述語に一致する、このアノテーションターゲットに存在するすべてのアノテーションのコレクションを返します。そのようなアノテーションが存在しない場合は、空のコレクションを返します。- パラメーター:
predicate- アノテーション述語。nullであってはなりません- 戻り値:
AnnotationInfoの不変コレクション、決してnull
annotations
CollectionSE<AnnotationInfo> annotations()このアノテーションターゲットに存在するすべてのアノテーションのコレクションを返します。アノテーションが存在しない場合は、空のコレクションを返します。- 戻り値:
AnnotationInfoの不変コレクション、決してnull