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