次の例は、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を戻します。このAnnotationElementの注釈要素の不変のリストを返します。longこのAnnotationElementのタイプIDを返します。このAnnotationElement(たとえば、"jdk.jfr.Label")に対応する注釈型の完全修飾名を返します。このAnnotationElementの値を返します。このAnnotationElementの注釈値を説明する記述子の不変のリストを返します。このAnnotationElementの値記述子と一致する順序で、注釈値の不変なリストを返します。boolean指定された名前の注釈値がこの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を拡張するインタフェース
 
 
- 
- 
メソッドの詳細- 
getValuesこのAnnotationElementの値記述子と一致する順序で、注釈値の不変なリストを返します。- 戻り値:
- nullではなく、値のリスト
 
- 
getValueDescriptorspublic List<ValueDescriptor> getValueDescriptors()このAnnotationElementの注釈値を説明する記述子の不変のリストを返します。- 戻り値:
- このAnnotationの値記述子のリスト(nullではありません)
 
- 
getAnnotationElementspublic List<AnnotationElement> getAnnotationElements()このAnnotationElementの注釈要素の不変のリストを返します。- 戻り値:
- nullではなく、メタ注釈のリスト
 
- 
getTypeNamepublic String getTypeName()このAnnotationElement(たとえば、"jdk.jfr.Label")に対応する注釈型の完全修飾名を返します。- 戻り値:
- nullではなく、タイプ名
 
- 
getValueこの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 (負ではない)
 
 
-