- Direct Known Subclasses:
RecordedClass,RecordedClassLoader,RecordedEvent,RecordedFrame,RecordedMethod,RecordedStackTrace,RecordedThread,RecordedThreadGroup
This class provides methods to select and query nested objects by passing a
dot "." delimited String object (for instance,
"aaa.bbb"). A method evaluates a nested object from left to right,
and if a part is null, it throws NullPointerException.
- Since:
- 9
-
Method Summary
Modifier and TypeMethodDescriptionfinal booleangetBoolean(String name) Returns the value of a field of typeboolean.final byteReturns the value of a field of typebyte.final charReturns the value of a field of typechar.final RecordedClassReturns the value of a field of typeClass.final doubleReturns the value of a field of typedoubleor of another primitive type that is convertible to typedoubleby a widening conversion.final DurationgetDuration(String name) Returns the value of a timespan field.Returns an immutable list of the fields for this object.final floatReturns the value of a field of typefloator of another primitive type convertible to typefloatby a widening conversion.final InstantgetInstant(String name) Returns the value of a timestamp field.final intReturns the value of a field of typeintor of another primitive type that is convertible to typeintby a widening conversion.final longReturns the value of a field of typelongor of another primitive type that is convertible to typelongby a widening conversion.final shortReturns the value of a field of typeshortor of another primitive type convertible to typeshortby a widening conversion.final StringReturns the value of a field of typeString.final RecordedThreadReturns the value of a field of typeThread.final <T> TReturns the value of the field with the given name.booleanReturnstrueif a field with the given name exists,falseotherwise.final StringtoString()Returns a textual representation of this object.
-
Method Details
-
hasField
Returnstrueif a field with the given name exists,falseotherwise.It's possible to index into a nested field by using
"."(for instance"thread.group.parent.name").- Parameters:
name- name of the field to get, notnull- Returns:
trueif the field exists,falseotherwise- See Also:
-
getValue
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.getJavaName()); }- Type Parameters:
T- the return type- Parameters:
name- of the field to get, notnull- Returns:
- the value, can be
null - Throws:
IllegalArgumentException- if no field callednameexists- See Also:
-
getFields
Returns an immutable list of the fields for this object.- Returns:
- the fields, not
null
-
getBoolean
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, notnull- Returns:
- the value of the field,
trueorfalse - Throws:
IllegalArgumentException- if the field doesn't exist, or the field is not of typeboolean- See Also:
-
getByte
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, notnull- Returns:
- the value of the field
- Throws:
IllegalArgumentException- if the field doesn't exist, or the field is not of typebyte- See Also:
-
getChar
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, notnull- Returns:
- the value of the field as a
char - Throws:
IllegalArgumentException- if the field doesn't exist, or the field is not of typechar- See Also:
-
getShort
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, notnull- 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 typeshortby a widening conversion- See Also:
-
getInt
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, notnull- 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 typeintby a widening conversion- See Also:
-
getFloat
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, notnull- 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 typefloatby a widening conversion- See Also:
-
getLong
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, notnull- 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 typelongvia a widening conversion- See Also:
-
getDouble
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, notnull- 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 typedoubleby a widening conversion- See Also:
-
getString
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, notnull- 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 typeString- See Also:
-
getDuration
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.If the committed event value was
Long.MAX_VALUE, regardless of the unit set by@Timespan, this method returnsChronoUnit.FOREVER.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, notnull- 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 aDurationobject- See Also:
-
getInstant
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, notnull- 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 anInstantobject- See Also:
-
getClass
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, notnull- 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 typeClass- See Also:
-
getThread
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, notnull- 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 typeThread- See Also:
-
toString
Returns a textual representation of this object.
-