- java.lang.Object
- 
- jdk.jfr.AnnotationElement
 
- 
 public final class AnnotationElement extends Object ラベル、説明、ユニットなどのイベント・メタデータについて説明します。次の例は、 AnnotationElementを使用してイベントを動的に定義する方法を示しています。List<AnnotationElement> typeAnnotations = new ArrayList<>(); typeannotations.add(new AnnotationElement(Name.class, "com.example.HelloWorld"); typeAnnotations.add(new AnnotationElement(Label.class, "Hello World")); typeAnnotations.add(new AnnotationElement(Description.class, "Helps programmer getting started")); List<AnnotationElement> fieldAnnotations = new ArrayList<>(); fieldAnnotations.add(new AnnotationElement(Label.class, "Message")); List<ValueDescriptor> fields = new ArrayList<>(); fields.add(new ValueDescriptor(String.class, "message", fieldAnnotations)); EventFactory f = EventFactory.create(typeAnnotations, fields); Event event = f.newEvent(); event.commit();- 導入されたバージョン:
- 9
 
- 
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 AnnotationElement(Class<? extends Annotation> annotationType)動的に定義されるイベントに使用する注釈要素を作成します。AnnotationElement(Class<? extends Annotation> annotationType, Object value)動的に定義されるイベントに使用する注釈要素を作成します。AnnotationElement(Class<? extends Annotation> annotationType, Map<String,Object> values)動的に定義されるイベントに使用する注釈要素を作成します。
 - 
メソッドのサマリー修飾子と型 メソッド 説明 <A> AgetAnnotation(Class<? extends Annotation> annotationType)同じ名前のAnnotationElementが存在する場合は、指定された型の最初の注釈を戻し、それ以外の場合はnullを戻します。List<AnnotationElement>getAnnotationElements()このAnnotationElementの注釈要素の不変のリストを返します。longgetTypeId()このAnnotationElementのタイプIDを返します。StringgetTypeName()このAnnotationElement(たとえば、"jdk.jfr.Label")に対応する注釈型の完全修飾名を返します。ObjectgetValue(String name)このAnnotationElementの値を返します。List<ValueDescriptor>getValueDescriptors()このAnnotationElementの注釈値を説明する記述子の不変のリストを返します。List<Object>getValues()このAnnotationElementの値記述子と一致する順序で、注釈値の不変なリストを返します。booleanhasValue(String name)指定された名前の注釈値がこのAnnotationElementに存在する場合、trueを返します。
 
- 
- 
- 
コンストラクタの詳細- 
AnnotationElementpublic AnnotationElement(Class<? extends Annotation> annotationType, Map<String,Object> values) 動的に定義されるイベントに使用する注釈要素を作成します。サポートされている値のタイプは、 byte、int、short、long、double、float、boolean、charおよびStringです。 列挙型、配列およびクラスはサポートされていません。annotationTypeに(直接、間接的に表される、または関連付けられている)という注釈がある場合、それらの注釈が再帰的に含まれます。 しかし、annotationTypeと再帰的に見つかった注釈の両方には、MetadataDefinitionアノテーションが必要です。イベントを静的に定義するには、 Eventクラスを参照してください。- パラメータ:
- annotationType-- java.lang.annotation.Annotationを拡張するインタフェース(- nullではありません)
- values-- Mapと指定された注釈インタフェースのメソッド名と一致するキー
- 例外:
- IllegalArgumentException- 値/キーが- nullの場合、サポートされていない値タイプが使用されるか、- annotationTypeのシグネチャに一致しない値/キーが使用されます
 
 - 
AnnotationElementpublic AnnotationElement(Class<? extends Annotation> annotationType, Object value) 動的に定義されるイベントに使用する注釈要素を作成します。サポートされている値のタイプは、 byte、int、short、long、double、float、boolean、charおよびStringです。 列挙型、配列およびクラスはサポートされていません。annotationTypeに(直接、間接的に表される、または関連付けられている)という注釈がある場合、それらの注釈が再帰的に含まれます。 ただし、annotationTypeと再帰的に見つかった注釈の両方にMetadataDefinitionアノテーションが必要です。イベントを静的に定義するには、 Eventクラスを参照してください。- パラメータ:
- annotationType-- java.lang.annotation.Annotation,を拡張するインタフェースが- nullではありません
- value- 指定された- annotationTypeの- valueメソッドに一致する値
- 例外:
- IllegalArgumentException- 値/キーが- nullの場合、サポートされていない値タイプが使用されるか、- annotationTypeのシグネチャに一致しない値/キーが使用されます
 
 - 
AnnotationElementpublic AnnotationElement(Class<? extends Annotation> annotationType) 動的に定義されるイベントに使用する注釈要素を作成します。サポートされている値のタイプは、 byte、short、int、long、double、float、boolean、charおよびStringです。 列挙型、配列およびクラスはサポートされていません。annotationTypeに(直接的に存在するか、間接的に存在するか、)という注釈がある場合、それらの注釈が再帰的に含まれます。 ただし、annotationTypeと再帰的に見つかった注釈の両方にMetadataDefinitionアノテーションが必要です。イベントを静的に定義するには、 Eventクラスを参照してください。- パラメータ:
- annotationType-- nullではなく、java.lang.annotation.Annotationを拡張するインタフェース
 
 
- 
 - 
メソッドの詳細- 
getValuespublic List<Object> getValues() このAnnotationElementの値記述子と一致する順序で、注釈値の不変なリストを返します。- 戻り値:
- nullではなく、値のリスト
 
 - 
getValueDescriptorspublic List<ValueDescriptor> getValueDescriptors() このAnnotationElementの注釈値を説明する記述子の不変のリストを返します。- 戻り値:
- このAnnotationの値記述子のリスト(nullではありません)
 
 - 
getAnnotationElementspublic List<AnnotationElement> getAnnotationElements() このAnnotationElementの注釈要素の不変のリストを返します。- 戻り値:
- nullではなく、メタ注釈のリスト
 
 - 
getTypeNamepublic String getTypeName() このAnnotationElement(たとえば、"jdk.jfr.Label")に対応する注釈型の完全修飾名を返します。- 戻り値:
- nullではなく、タイプ名
 
 - 
getValuepublic Object getValue(String name) このAnnotationElementの値を返します。- パラメータ:
- name-- nullではなく、注釈インタフェース内のメソッドの名前。
- 戻り値:
- nullではなく注釈値。
- 例外:
- IllegalArgumentException- 指定された名前のメソッドが注釈に存在しない場合
 
 - 
hasValuepublic boolean hasValue(String name) 指定された名前の注釈値がこのAnnotationElementに存在する場合、trueを返します。- パラメータ:
- name- 検索する注釈インタフェースのメソッドの名前(- nullではない)
- 戻り値:
- メソッドが存在する場合はtrue、存在しない場合はfalse
 
 - 
getAnnotationpublic final <A> A getAnnotation(Class<? extends Annotation> annotationType) 同じ名前のAnnotationElementが存在する場合は、指定された型の最初の注釈を戻し、それ以外の場合はnullを戻します。- 型パラメータ:
- A- 問合せを行い、存在する場合はそれを戻す注釈のタイプ
- パラメータ:
- annotationType-- nullではなく、注釈型に対応する- Class object
- 戻り値:
- 指定された注釈型が存在する場合はこの要素注釈、それ以外の場合はnull
 
 - 
getTypeIdpublic long getTypeId() このAnnotationElementのタイプIDを返します。IDは、Java Virtual Machine (JVM)のタイプの一意の識別子です。 IDがJVMインスタンス間で同じでない可能性があります。 - 戻り値:
- 型ID (負ではない)
 
 
- 
 
-