- java.lang.Object
-
- jdk.jfr.consumer.RecordedObject
-
- 直系の既知のサブクラス:
RecordedClass
,RecordedClassLoader
,RecordedEvent
,RecordedFrame
,RecordedMethod
,RecordedStackTrace
,RecordedThread
,RecordedThreadGroup
public class RecordedObject extends Object
1つ以上のフィールドで構成される複合データ型。このクラスでは、ドット
"."
で区切られたString
オブジェクト(たとえば、"aaa.bbb"
です。)を渡して、ネストされたオブジェクトを選択および問合せするメソッドを提供します。 メソッドはネストされたオブジェクトを左から右に評価し、部品がnull
である場合はNullPointerException
をスローします。- 導入されたバージョン:
- 9
-
-
メソッドのサマリー
修飾子と型 メソッド 説明 boolean
getBoolean(String name)
boolean
型のフィールドの値を返します。byte
getByte(String name)
byte
型のフィールドの値を返します。char
getChar(String name)
char
型のフィールドの値を返します。RecordedClass
getClass(String name)
Class
型のフィールドの値を返します。double
getDouble(String name)
広範な変換によってdouble
型のフィールド、またはdouble
型に変換可能な別のプリミティブ型のフィールドの値を返します。Duration
getDuration(String name)
timespanフィールドの値を返します。List<ValueDescriptor>
getFields()
このオブジェクトのフィールドの不変なリストを返します。float
getFloat(String name)
広範な変換によってfloat
型のフィールド、またはfloat
型に変換可能な別のプリミティブ型のフィールドの値を返します。Instant
getInstant(String name)
タイムスタンプ・フィールドの値を返します。int
getInt(String name)
広範な変換によってint
型のフィールド、またはint
型に変換可能な別のプリミティブ型のフィールドの値を返します。long
getLong(String name)
広範な変換によってlong
型のフィールド、またはlong
型に変換可能な別のプリミティブ型のフィールドの値を返します。short
getShort(String name)
広範な変換によってshort
型のフィールド、またはshort
型に変換可能な別のプリミティブ型のフィールドの値を返します。String
getString(String name)
String
型のフィールドの値を返します。RecordedThread
getThread(String name)
Thread
型のフィールドの値を返します。<T> T
getValue(String name)
指定された名前のフィールドの値を返します。boolean
hasField(String name)
指定された名前のフィールドが存在する場合はtrue
を返し、そうでない場合はfalse
。String
toString()
このオブジェクトのテキスト表現を返します。
-
-
-
メソッドの詳細
-
hasField
public boolean hasField(String name)
指定された名前のフィールドが存在する場合はtrue
を返し、そうでない場合はfalse
。- パラメータ:
name
- 取得するフィールドの名前。null
ではありません。- 戻り値:
- フィールドが存在する場合は
true
、それ以外の場合はfalse
。 - 関連項目:
getFields()
-
getValue
public final <T> T getValue(String name)
指定された名前のフィールドの値を返します。戻り値の型は、プリミティブ型または
RecordedObject
のサブクラスです。"."
を使用すると、ネストしたオブジェクトに索引を付けることができます(たとえば"thread.group.parent.name
)。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
例
if (event.hasField("intValue")) { int intValue = event.getValue("intValue"); System.out.println("Int value: " + intValue); } if (event.hasField("objectClass")) { RecordedClass clazz = event.getValue("objectClass"); System.out.println("Class name: " + clazz.getName()); } if (event.hasField("sampledThread")) { RecordedThread sampledThread = event.getValue("sampledThread"); System.out.println("Sampled thread: " + sampledThread.getName()); }
- 型パラメータ:
T
- 戻り値の型- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
- 値は
null
です。 - 例外:
IllegalArgumentException
-name
というフィールドが存在しない場合- 関連項目:
hasField(String)
-
getFields
public List<ValueDescriptor> getFields()
このオブジェクトのフィールドの不変なリストを返します。- 戻り値:
null
ではなく、フィールド
-
getBoolean
public final boolean getBoolean(String name)
boolean
型のフィールドの値を返します。"."
(たとえば、"aaa.bbb"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールドの名前。null
ではありません。- 戻り値:
- フィールドの値、
true
またはfalse
- 例外:
IllegalArgumentException
- フィールドが存在しない場合、またはフィールドのタイプがboolean
ではない場合- 関連項目:
hasField(String)
,getValue(String)
-
getByte
public final byte getByte(String name)
byte
型のフィールドの値を返します。"."
(たとえば、"foo.bar"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
- フィールドの値
- 例外:
IllegalArgumentException
- フィールドが存在しない場合、またはフィールドのタイプがbyte
ではない場合- 関連項目:
hasField(String)
,getValue(String)
-
getChar
public final char getChar(String name)
char
型のフィールドの値を返します。"."
(たとえば、"aaa.bbb"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
char
としてのフィールドの値- 例外:
IllegalArgumentException
- フィールドが存在しない場合、またはフィールドのタイプがchar
ではない場合- 関連項目:
hasField(String)
,getValue(String)
-
getShort
public final short getShort(String name)
広範な変換によってshort
型のフィールド、またはshort
型に変換可能な別のプリミティブ型のフィールドの値を返します。このメソッドは、次の型で使用できます。:
short
とbyte
。フィールドに
@Unsigned
注釈があり、short
よりも狭いタイプである場合は、値が符号なしで返されます。"."
(たとえば、"aaa.bbb"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
short
型に変換されたフィールドの値- 例外:
IllegalArgumentException
- フィールドが存在しない場合、または広範囲の変換によってフィールド値をタイプshort
に変換できない場合- 関連項目:
hasField(String)
-
getInt
public final int getInt(String name)
広範な変換によってint
型のフィールド、またはint
型に変換可能な別のプリミティブ型のフィールドの値を返します。このメソッドは、次のタイプのフィールドで使用できます。:
int
、short
、char
、およびbyte
を含む。フィールドに
@Unsigned
注釈があり、int
よりも狭いタイプである場合は、値が符号なしで返されます。"."
(たとえば、"aaa.bbb"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
int
型に変換されたフィールドの値- 例外:
IllegalArgumentException
- フィールドが存在しない場合、または広範囲の変換によってフィールド値をタイプint
に変換できない場合- 関連項目:
hasField(String)
-
getFloat
public final float getFloat(String name)
広範な変換によってfloat
型のフィールド、またはfloat
型に変換可能な別のプリミティブ型のフィールドの値を返します。このメソッドは、次のタイプのフィールドで使用できます。:
float
、long
、int
、short
、char
およびbyte
。"."
(たとえば、"aaa.bbb"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
float
型に変換されたフィールドの値- 例外:
IllegalArgumentException
- フィールドが存在しない場合、または広範囲の変換によってフィールド値をタイプfloat
に変換できない場合- 関連項目:
hasField(String)
-
getLong
public final long getLong(String name)
広範な変換によってlong
型のフィールド、またはlong
型に変換可能な別のプリミティブ型のフィールドの値を返します。このメソッドは、次のタイプのフィールドで使用できます。:
long
、int
、short
、char
およびbyte
。フィールドに
@Unsigned
注釈があり、long
よりも狭いタイプである場合は、値が符号なしで返されます。"."
(たとえば、"aaa.bbb"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
long
型に変換されたフィールドの値- 例外:
IllegalArgumentException
- フィールドが存在しない場合、または広範囲の変換によってフィールド値をタイプlong
に変換できない場合- 関連項目:
hasField(String)
-
getDouble
public final double getDouble(String name)
広範な変換によってdouble
型のフィールド、またはdouble
型に変換可能な別のプリミティブ型のフィールドの値を返します。このメソッドは、次のタイプのフィールドで使用できます。:
double
、float
、long
、int
、short
、char
およびbyte
。"."
(たとえば、"aaa.bbb"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
double
型に変換されたフィールドの値- 例外:
IllegalArgumentException
- フィールドが存在しない場合、または広範囲の変換によってフィールド値をタイプdouble
に変換できない場合- 関連項目:
hasField(String)
-
getString
public final String getString(String name)
String
型のフィールドの値を返します。"."
(たとえば、"foo.bar"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
String
としてのフィールドの値は、null
- 例外:
IllegalArgumentException
- フィールドが存在しない場合、またはフィールドのタイプがString
ではない場合- 関連項目:
hasField(String)
-
getDuration
public final Duration getDuration(String name)
timespanフィールドの値を返します。このメソッドは、
@Timespan
で注釈が付けられたフィールドおよび次のタイプのフィールドに使用できます:long
、int
、short
、char
およびbyte
。"."
(たとえば、"aaa.bbb"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
Duration
ではなくDuration
で表された時間スパン- 例外:
IllegalArgumentException
- フィールドが存在しない場合、またはフィールド値をDuration
オブジェクトに変換できない場合- 関連項目:
hasField(String)
-
getInstant
public final Instant getInstant(String name)
タイムスタンプ・フィールドの値を返します。このメソッドは、
@Timestamp
で注釈が付けられたフィールドおよび次のタイプのフィールドに使用できます:long
、int
、short
、char
およびbyte
。"."
(たとえば、"aaa.bbb"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
null
ではなくInstant
として表されるタイムスタンプ- 例外:
IllegalArgumentException
- フィールドが存在しない場合、またはフィールド値をInstant
オブジェクトに変換できない場合- 関連項目:
hasField(String)
-
getClass
public final RecordedClass getClass(String name)
Class
型のフィールドの値を返します。"."
(たとえば、"aaa.bbb"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
RecordedClass
としてのフィールドの値は、null
- 例外:
IllegalArgumentException
- フィールドが存在しない場合、またはフィールドのタイプがClass
ではない場合- 関連項目:
hasField(String)
-
getThread
public final RecordedThread getThread(String name)
Thread
型のフィールドの値を返します。"."
(たとえば、"foo.bar"
)を使用して、ネストされたオブジェクトに索引を付けることができます。フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。
- パラメータ:
name
- 取得するフィールド(null
ではない)- 戻り値:
RecordedThread
オブジェクトとしてのフィールドの値はnull
です- 例外:
IllegalArgumentException
- フィールドが存在しない場合、またはフィールドのタイプがThread
ではない場合- 関連項目:
hasField(String)
-
-