- java.lang.Object
- 
- jdk.jfr.consumer.RecordedObject
 
- 
- Direct Known Subclasses:
- RecordedClass,- RecordedClassLoader,- RecordedEvent,- RecordedFrame,- RecordedMethod,- RecordedStackTrace,- RecordedThread,- RecordedThreadGroup
 
 public class RecordedObject extends Object A complex data type that consists of one or more fields.This class provides methods to select and query nested objects by passing a dot "."delimitedStringobject (for instance,"aaa.bbb"). A method evaluates a nested object from left to right, and if a part isnull, it throwsNullPointerException.- Since:
- 9
 
- 
- 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description booleangetBoolean(String name)Returns the value of a field of typeboolean.bytegetByte(String name)Returns the value of a field of typebyte.chargetChar(String name)Returns the value of a field of typechar.RecordedClassgetClass(String name)Returns the value of a field of typeClass.doublegetDouble(String name)Returns the value of a field of typedoubleor of another primitive type that is convertible to typedoubleby a widening conversion.DurationgetDuration(String name)Returns the value of a timespan field.List<ValueDescriptor>getFields()Returns an immutable list of the fields for this object.floatgetFloat(String name)Returns the value of a field of typefloator of another primitive type convertible to typefloatby a widening conversion.InstantgetInstant(String name)Returns the value of a timestamp field.intgetInt(String name)Returns the value of a field of typeintor of another primitive type that is convertible to typeintby a widening conversion.longgetLong(String name)Returns the value of a field of typelongor of another primitive type that is convertible to typelongby a widening conversion.shortgetShort(String name)Returns the value of a field of typeshortor of another primitive type convertible to typeshortby a widening conversion.StringgetString(String name)Returns the value of a field of typeString.RecordedThreadgetThread(String name)Returns the value of a field of typeThread.<T> TgetValue(String name)Returns the value of the field with the given name.booleanhasField(String name)Returnstrueif a field with the given name exists,falseotherwise.StringtoString()Returns a textual representation of this object.
 
- 
- 
- 
Method Detail- 
hasFieldpublic boolean hasField(String name) Returnstrueif a field with the given name exists,falseotherwise.- Parameters:
- name- name of the field to get, not- null
- Returns:
- trueif the field exists,- falseotherwise.
- See Also:
- getFields()
 
 - 
getValuepublic final <T> T getValue(String name) Returns the value of the field with the given name.The return type may be a primitive type or a subclass of RecordedObject.It's possible to index into a nested object by using "."(for instance"thread.group.parent.name").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. Example 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()); }- Type Parameters:
- T- the return type
- Parameters:
- name- of the field to get, not- null
- Returns:
- the value, can be null
- Throws:
- IllegalArgumentException- if no field called- nameexists
- See Also:
- hasField(String)
 
 - 
getFieldspublic List<ValueDescriptor> getFields() Returns an immutable list of the fields for this object.- Returns:
- the fields, not null
 
 - 
getBooleanpublic final boolean getBoolean(String name) Returns the value of a field of typeboolean.It's possible to index into a nested object using "."(for example,"aaa.bbb").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- name of the field to get, not- null
- Returns:
- the value of the field, trueorfalse
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field is not of type- boolean
- See Also:
- hasField(String),- getValue(String)
 
 - 
getBytepublic final byte getByte(String name) Returns the value of a field of typebyte.It's possible to index into a nested object using "."(for example,"foo.bar").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- of the field to get, not- null
- Returns:
- the value of the field
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field is not of type- byte
- See Also:
- hasField(String),- getValue(String)
 
 - 
getCharpublic final char getChar(String name) Returns the value of a field of typechar.It's possible to index into a nested object using "."(for example,"aaa.bbb").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- of the field to get, not- null
- Returns:
- the value of the field as a char
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field is not of type- char
- See Also:
- hasField(String),- getValue(String)
 
 - 
getShortpublic final short getShort(String name) Returns the value of a field of typeshortor of another primitive type convertible to typeshortby a widening conversion.This method can be used on the following types: shortandbyte.If the field has the @Unsignedannotation and is of a narrower type thanshort, then the value is returned as an unsigned.It's possible to index into a nested object using "."(for example,"aaa.bbb").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- of the field to get, not- null
- Returns:
- the value of the field converted to type short
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field value can't be converted to the type- shortby a widening conversion
- See Also:
- hasField(String)
 
 - 
getIntpublic final int getInt(String name) Returns the value of a field of typeintor of another primitive type that is convertible to typeintby a widening conversion.This method can be used on fields of the following types: int,short,char, andbyte.If the field has the @Unsignedannotation and is of a narrower type thanint, then the value will be returned as an unsigned.It's possible to index into a nested object using "."(for example,"aaa.bbb").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- of the field to get, not- null
- Returns:
- the value of the field converted to type int
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field value can't be converted to the type- intby a widening conversion
- See Also:
- hasField(String)
 
 - 
getFloatpublic final float getFloat(String name) Returns the value of a field of typefloator of another primitive type convertible to typefloatby a widening conversion.This method can be used on fields of the following types: float,long,int,short,char, andbyte.It's possible to index into a nested object using "."(for example,"aaa.bbb").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- of the field to get, not- null
- Returns:
- the value of the field converted to type float
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field value can't be converted to the type- floatby a widening conversion
- See Also:
- hasField(String)
 
 - 
getLongpublic final long getLong(String name) Returns the value of a field of typelongor of another primitive type that is convertible to typelongby a widening conversion.This method can be used on fields of the following types: long,int,short,char, andbyte.If the field has the @Unsignedannotation and is of a narrower type thanlong, then the value will be returned as an unsigned.It's possible to index into a nested object using "."(for example,"aaa.bbb").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- of the field to get, not- null
- Returns:
- the value of the field converted to type long
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field value can't be converted to the type- longvia a widening conversion
- See Also:
- hasField(String)
 
 - 
getDoublepublic final double getDouble(String name) Returns the value of a field of typedoubleor of another primitive type that is convertible to typedoubleby a widening conversion.This method can be used on fields of the following types: double,float,long,int,short,char, andbyte.It's possible to index into a nested object using "."(for example,"aaa.bbb").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- of the field to get, not- null
- Returns:
- the value of the field converted to type double
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field value can't be converted to the type- doubleby a widening conversion
- See Also:
- hasField(String)
 
 - 
getStringpublic final String getString(String name) Returns the value of a field of typeString.It's possible to index into a nested object using "."(for example,"foo.bar").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- of the field to get, not- null
- Returns:
- the value of the field as a String, can benull
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field isn't of type- String
- See Also:
- hasField(String)
 
 - 
getDurationpublic final Duration getDuration(String name) Returns the value of a timespan field.This method can be used on fields annotated with @Timespan, and of the following types:long,int,short,char, andbyte.It's possible to index into a nested object using "."(for example,"aaa.bbb").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- of the field to get, not- null
- Returns:
- a time span represented as a Duration, notnull
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field value can't be converted to a- Durationobject
- See Also:
- hasField(String)
 
 - 
getInstantpublic final Instant getInstant(String name) Returns the value of a timestamp field.This method can be used on fields annotated with @Timestamp, and of the following types:long,int,short,charandbyte.It's possible to index into a nested object using "."(for example,"aaa.bbb").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- of the field to get, not- null
- Returns:
- a timstamp represented as an Instant, notnull
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field value can't be converted to an- Instantobject
- See Also:
- hasField(String)
 
 - 
getClasspublic final RecordedClass getClass(String name) Returns the value of a field of typeClass.It's possible to index into a nested object using "."(for example,"aaa.bbb").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- of the field to get, not- null
- Returns:
- the value of the field as a RecordedClass, can benull
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field isn't of type- Class
- See Also:
- hasField(String)
 
 - 
getThreadpublic final RecordedThread getThread(String name) Returns the value of a field of typeThread.It's possible to index into a nested object using "."(for example,"foo.bar").A field might change or be removed in a future JDK release. A best practice for callers of this method is to validate the field before attempting access. - Parameters:
- name- of the field to get, not- null
- Returns:
- the value of the field as a RecordedThreadobject, can benull
- Throws:
- IllegalArgumentException- if the field doesn't exist, or the field isn't of type- Thread
- See Also:
- hasField(String)
 
 
- 
 
-