- 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> A
getAnnotation(Class<? extends Annotation> annotationType)
同じ名前の注釈要素が使用可能な場合は、指定された型の最初の注釈を返します。それ以外の場合はnull
を返します。List<AnnotationElement>
getAnnotationElements()
この注釈要素の注釈要素の不変なリストを返します。long
getTypeId()
この注釈要素の型IDを返します。String
getTypeName()
この注釈要素に対応する注釈型の完全修飾名を返します。Object
getValue(String name)
この注釈要素の値を返します。List<ValueDescriptor>
getValueDescriptors()
このAnnotationElement
の注釈値を記述する記述子の不変なリストを返します。List<Object>
getValues()
このAnnotationElement
の値記述子と一致する順序で注釈値の不変のリストを返します。boolean
hasValue(String name)
この注釈要素に指定された名前の注釈値が存在する場合は、true
を返します。
-
-
-
コンストラクタの詳細
-
AnnotationElement
public AnnotationElement(Class<? extends Annotation> annotationType, Map<String,Object> values)
イベントを動的に定義するときに使用する注釈要素を作成します。サポートされる値のタイプは、
byte
、int
、short
、long
、double
、float
、boolean
、char
および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)
イベントを動的に定義するときに使用する注釈要素を作成します。サポートされる値のタイプは、
byte
、int
、short
、long
、double
、float
、boolean
、char
およびString
です。 列挙型、配列、クラスはサポートされていません。annotationType
が注釈(直接的に存在するか、間接的に存在するか、)を運ぶ場合、それらは再帰的にインクルードされます。 しかし、annotationType
と再帰的に見つかった注釈の両方には、MetadataDefinition
アノテーションが必要です。イベントを静的に定義するには、
Event
クラスを参照してください。- パラメータ:
annotationType
-null
ではなく、java.lang.annotation.Annotationを拡張するインタフェースvalue
- 指定されたannotationType
のvalue
メソッドと一致する値- 例外:
IllegalArgumentException
- value/keyがnull
の場合、サポートされていない値型が使用されるか、注釈型のシグネチャと一致しない値/キーが使用されます
-
AnnotationElement
public 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
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、負ではない
-
-