モジュール jdk.jfr
パッケージ 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

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

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

        annotationTypeが注釈(直接的に存在するか、間接的に存在するか、)を運ぶ場合、それらは再帰的にインクルードされます。 しかし、annotationTypeと再帰的に見つかった注釈の両方には、MetadataDefinitionアノテーションが必要です。

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

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

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

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

        annotationTypeが注釈(直接的に存在するか、間接的に存在するか、)を運ぶ場合、それらは再帰的にインクルードされます。 しかし、annotationTypeと再帰的に見つかった注釈の両方には、MetadataDefinitionアノテーションが必要です。

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

        パラメータ:
        annotationType - nullではなく、java.lang.annotation.Annotationを拡張するインタフェース
        value - 指定されたannotationTypevalueメソッドと一致する値
        例外:
        IllegalArgumentException - value/keyがnullの場合、サポートされていない値型が使用されるか、注釈型のシグネチャと一致しない値/キーが使用されます
      • 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の注釈値を記述する記述子の不変なリストを返します。
        戻り値:
        nullではなく、このAnnotationの値ディスクリプタのリスト
      • getAnnotationElements

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

        public String getTypeName​()
        この注釈要素に対応する注釈型の完全修飾名を返します。
        戻り値:
        nullではなく、タイプ名
      • getValue

        public Object getValue​(String name)
        この注釈要素の値を返します。
        パラメータ:
        name - nullではなく、注釈インタフェース内のメソッドの名前。
        戻り値:
        nullではなく注釈値。
        例外:
        IllegalArgumentException - 名前を持つメソッドを注釈に配置できなかった場合
      • hasValue

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

        public final <A> A getAnnotation​(Class<? extends Annotation> annotationType)
        同じ名前の注釈要素が使用可能な場合は、指定された型の最初の注釈を返します。それ以外の場合はnullを返します。
        型パラメータ:
        A - 問合せする注釈の型および使用可能な場合に返す
        パラメータ:
        annotationType - nullではなく、注釈型に対応するClassオブジェクト
        戻り値:
        使用可能な場合は、指定された注釈型のこの要素注釈、それ以外の場合はnull
      • getTypeId

        public long getTypeId​()
        この注釈要素の型IDを返します。

        タイプIDは、JVMのタイプの一意のIDです。 JVMインスタンス間で同じことが保証されるわけではありません。

        戻り値:
        型ID、負ではない