モジュール jdk.jfr
パッケージ jdk.jfr

クラスAnnotationElement

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)
    動的に定義されるイベントに使用する注釈要素を作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    final <A> A
    getAnnotation(Class<? extends Annotation> annotationType)
    同じ名前のAnnotationElementが存在する場合は、指定された型の最初の注釈を戻し、それ以外の場合はnullを戻します。
    このAnnotationElementの注釈要素の不変のリストを返します。
    long
    このAnnotationElementのタイプIDを返します。
    このAnnotationElement (たとえば、"jdk.jfr.Label")に対応する注釈型の完全修飾名を返します。
    このAnnotationElementの値を返します。
    このAnnotationElementの注釈値を説明する記述子の不変のリストを返します。
    このAnnotationElementの値記述子と一致する順序で、注釈値の不変なリストを返します。
    boolean
    指定された名前の注釈値がこのAnnotationElementに存在する場合、trueを返します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • AnnotationElement

      public AnnotationElement(Class<? extends Annotation> annotationType, Map<String,Object> values)
      動的に定義されるイベントに使用する注釈要素を作成します。

      サポートされている値のタイプは、byteintshortlongdoublefloatbooleancharおよびStringです。 列挙型、配列およびクラスはサポートされていません。

      annotationTypeに(直接、間接的に表される、または関連付けられている)という注釈がある場合、それらの注釈が再帰的に含まれます。 しかし、annotationTypeと再帰的に見つかった注釈の両方には、MetadataDefinitionアノテーションが必要です。

      イベントを静的に定義するには、Eventクラスを参照してください。

      パラメータ:
      annotationType - java.lang.annotation.Annotationを拡張するインタフェース(nullではありません)
      values - Mapと指定された注釈インタフェースのメソッド名と一致するキー
      例外:
      IllegalArgumentException - 値/キーがnullの場合、サポートされていない値タイプが使用されるか、annotationTypeのシグネチャに一致しない値/キーが使用されます
    • AnnotationElement

      public AnnotationElement(Class<? extends Annotation> annotationType, Object value)
      動的に定義されるイベントに使用する注釈要素を作成します。

      サポートされている値のタイプは、byteintshortlongdoublefloatbooleancharおよびStringです。 列挙型、配列およびクラスはサポートされていません。

      annotationTypeに(直接、間接的に表される、または関連付けられている)という注釈がある場合、それらの注釈が再帰的に含まれます。 ただし、annotationTypeと再帰的に見つかった注釈の両方にMetadataDefinitionアノテーションが必要です。

      イベントを静的に定義するには、Eventクラスを参照してください。

      パラメータ:
      annotationType - java.lang.annotation.Annotation,を拡張するインタフェースがnullではありません
      value - 指定されたannotationTypevalueメソッドに一致する値
      例外:
      IllegalArgumentException - 値/キーがnullの場合、サポートされていない値タイプが使用されるか、annotationTypeのシグネチャに一致しない値/キーが使用されます
    • AnnotationElement

      public AnnotationElement(Class<? extends Annotation> annotationType)
      動的に定義されるイベントに使用する注釈要素を作成します。

      サポートされている値のタイプは、byteshortintlongdoublefloatbooleancharおよびStringです。 列挙型、配列およびクラスはサポートされていません。

      annotationTypeに(直接的に存在するか、間接的に存在するか、)という注釈がある場合、それらの注釈が再帰的に含まれます。 ただし、annotationTypeと再帰的に見つかった注釈の両方にMetadataDefinitionアノテーションが必要です。

      イベントを静的に定義するには、Eventクラスを参照してください。

      パラメータ:
      annotationType - nullではなく、java.lang.annotation.Annotationを拡張するインタフェース
  • メソッドの詳細

    • getValues

      public List<Object> getValues()
      このAnnotationElementの値記述子と一致する順序で、注釈値の不変なリストを返します。
      戻り値:
      nullではなく、値のリスト
    • getValueDescriptors

      public List<ValueDescriptor> getValueDescriptors()
      このAnnotationElementの注釈値を説明する記述子の不変のリストを返します。
      戻り値:
      このAnnotationの値記述子のリスト(nullではありません)
    • getAnnotationElements

      public List<AnnotationElement> getAnnotationElements()
      このAnnotationElementの注釈要素の不変のリストを返します。
      戻り値:
      nullではなく、メタ注釈のリスト
    • getTypeName

      public String getTypeName()
      このAnnotationElement (たとえば、"jdk.jfr.Label")に対応する注釈型の完全修飾名を返します。
      戻り値:
      nullではなく、タイプ名
    • getValue

      public Object getValue(String name)
      このAnnotationElementの値を返します。
      パラメータ:
      name - nullではなく、注釈インタフェース内のメソッドの名前。
      戻り値:
      nullではなく注釈値。
      例外:
      IllegalArgumentException - 指定された名前のメソッドが注釈に存在しない場合
    • hasValue

      public boolean hasValue(String name)
      指定された名前の注釈値がこのAnnotationElementに存在する場合、trueを返します。
      パラメータ:
      name - 検索する注釈インタフェースのメソッドの名前(nullではない)
      戻り値:
      メソッドが存在する場合はtrue、存在しない場合はfalse
    • getAnnotation

      public final <A> A getAnnotation(Class<? extends Annotation> annotationType)
      同じ名前のAnnotationElementが存在する場合は、指定された型の最初の注釈を戻し、それ以外の場合はnullを戻します。
      型パラメータ:
      A - 問合せを行い、存在する場合はそれを戻す注釈のタイプ
      パラメータ:
      annotationType - nullではなく、注釈型に対応するClass object
      戻り値:
      指定された注釈タイプのこの要素注釈(存在する場合)、それ以外の場合はnull
    • getTypeId

      public long getTypeId()
      このAnnotationElementのタイプIDを返します。

      IDは、Java Virtual Machine (JVM)のタイプの一意の識別子です。 IDがJVMインスタンス間で同じでない可能性があります。

      戻り値:
      型ID (負ではない)