- 直接已知的子类:
-
RecordedClass,RecordedClassLoader,RecordedEvent,RecordedFrame,RecordedMethod,RecordedStackTrace,RecordedThread,RecordedThreadGroup
该类提供了通过传递一个用点"."分隔的String对象(例如,"aaa.bbb")来选择和查询嵌套对象的方法。方法从左到右评估嵌套对象,如果某个部分为null,则会抛出NullPointerException。
- 自 JDK 版本:
- 9
-
Method Summary
Modifier and TypeMethodDescriptionfinal booleangetBoolean(String name) 返回boolean类型字段的值。final byte返回byte类型字段的值。final char返回char类型字段的值。final RecordedClass返回Class类型字段的值。final double返回double类型字段的值或可通过扩展转换转换为double类型的另一个原始类型的值。final DurationgetDuration(String name) 返回时间跨度字段的值。返回此对象的字段的不可变列表。final float返回float类型字段的值或可通过扩展转换转换为float类型的另一个原始类型的值。final InstantgetInstant(String name) 返回时间戳字段的值。final int返回int类型字段的值或可通过扩展转换转换为int类型的另一个原始类型的值。final long返回long类型字段的值或可通过扩展转换转换为long类型的另一个原始类型的值。final short返回short类型字段的值或可通过扩展转换转换为short类型的另一个原始类型的值。final String返回String类型字段的值。final RecordedThread返回Thread类型字段的值。final <T> T返回具有给定名称的字段的值。boolean如果具有给定名称的字段存在,则返回true,否则返回false。final StringtoString()返回此对象的文本表示。
-
Method Details
-
hasField
如果具有给定名称的字段存在,则返回true,否则返回false。可以使用
"."来索引嵌套字段(例如"thread.group.parent.name")。- 参数:
-
name- 要获取的字段的名称,不能为空 - 返回:
-
如果字段存在,则返回
true,否则返回false - 参见:
-
getValue
返回具有给定名称的字段的值。返回类型可以是原始类型或
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.getJavaName()); }- 类型参数:
-
T- 返回类型 - 参数:
-
name- 要获取的字段的名称,不能为空 - 返回:
-
值,可以为
null - 抛出:
-
IllegalArgumentException- 如果不存在名为name的字段 - 参见:
-
getFields
返回此对象的字段的不可变列表。- 返回:
- 字段,不能为空
-
getBoolean
返回boolean类型字段的值。可以使用
"."来索引嵌套对象(例如"aaa.bbb")。字段可能会在未来的 JDK 版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段的名称,不能为空 - 返回:
-
字段的值,
true或false - 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段不是boolean类型 - 参见:
-
getByte
返回byte类型字段的值。可以使用
"."来索引嵌套对象(例如"foo.bar")。字段可能会在未来的 JDK 版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段的名称,不能为空 - 返回:
- 字段的值
- 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段不是byte类型 - 参见:
-
getChar
返回char类型字段的值。可以使用
"."来索引嵌套对象(例如"aaa.bbb")。字段可能会在未来的 JDK 版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段的名称,不能为空 - 返回:
-
字段的值作为
char - 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段不是char类型 - 参见:
-
getShort
返回short类型字段的值或可通过扩展转换转换为short类型的另一个原始类型的值。此方法可用于以下类型:
short和byte。如果字段具有
@Unsigned注释,并且比short更窄,则值将作为无符号值返回。可以使用
"."来索引嵌套对象(例如"aaa.bbb")。字段可能会在未来的 JDK 版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段的名称,不能为空 - 返回:
-
转换为
short类型的字段值 - 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段值无法通过扩展转换转换为short类型 - 参见:
-
getInt
返回int类型字段的值或可通过扩展转换转换为int类型的另一个原始类型的值。此方法可用于以下类型的字段:
int、short、char和byte。如果字段具有
@Unsigned注释,并且比int更窄,则值将作为无符号值返回。可以使用
"."来索引嵌套对象(例如"aaa.bbb")。字段可能会在未来的 JDK 版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段名称,不能为空 - 返回:
-
将字段值转换为
int类型的值 - 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段值无法通过扩展转换为int类型 - 参见:
-
getFloat
返回float类型字段的值,或者可以通过扩展转换为float类型的另一种原始类型的值。此方法可用于以下类型的字段:
float、long、int、short、char和byte。可以使用
"."来索引嵌套对象(例如,"aaa.bbb")。字段可能会在未来的JDK版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段名称,不能为空 - 返回:
-
将字段值转换为
float类型的值 - 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段值无法通过扩展转换为float类型 - 参见:
-
getLong
返回long类型字段的值,或者可以通过扩展转换为long类型的另一种原始类型的值。此方法可用于以下类型的字段:
long、int、short、char和byte。如果字段具有
@Unsigned注释,并且比long类型窄,则该值将作为无符号值返回。可以使用
"."来索引嵌套对象(例如,"aaa.bbb")。字段可能会在未来的JDK版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段名称,不能为空 - 返回:
-
将字段值转换为
long类型的值 - 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段值无法通过扩展转换为long类型 - 参见:
-
getDouble
返回double类型字段的值,或者可以通过扩展转换为double类型的另一种原始类型的值。此方法可用于以下类型的字段:
double、float、long、int、short、char和byte。可以使用
"."来索引嵌套对象(例如,"aaa.bbb")。字段可能会在未来的JDK版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段名称,不能为空 - 返回:
-
将字段值转换为
double类型的值 - 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段值无法通过扩展转换为double类型 - 参见:
-
getString
返回String类型字段的值。可以使用
"."来索引嵌套对象(例如,"foo.bar")。字段可能会在未来的JDK版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段名称,不能为空 - 返回:
-
将字段值作为
String返回,可以为null - 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段不是String类型 - 参见:
-
getDuration
返回时间跨度字段的值。此方法可用于带有
@Timespan注释的字段,以及以下类型的字段:long、int、short、char和byte。如果提交的事件值为
Long.MAX_VALUE,无论@Timespan设置的单位是什么,此方法都将返回ChronoUnit.FOREVER。可以使用
"."来索引嵌套对象(例如,"aaa.bbb")。字段可能会在未来的JDK版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段名称,不能为空 - 返回:
-
作为
Duration表示的时间跨度,不能为空 - 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段值无法转换为Duration对象 - 参见:
-
getInstant
返回时间戳字段的值。此方法可用于带有
@Timestamp注释的字段,以及以下类型的字段:long、int、short、char和byte。可以使用
"."来索引嵌套对象(例如,"aaa.bbb")。字段可能会在未来的JDK版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段名称,不能为空 - 返回:
-
作为
Instant表示的时间戳,不能为空 - 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段值无法转换为Instant对象 - 参见:
-
getClass
返回Class类型字段的值。可以使用
"."来索引嵌套对象(例如,"aaa.bbb")。字段可能会在未来的JDK版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段名称,不能为空 - 返回:
-
作为
RecordedClass表示的字段值,可以为null - 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段不是Class类型 - 参见:
-
getThread
返回Thread类型字段的值。可以使用
"."来索引嵌套对象(例如,"foo.bar")。字段可能会在未来的JDK版本中更改或删除。调用此方法的最佳实践是在尝试访问之前验证字段。
- 参数:
-
name- 要获取的字段名称,不能为空 - 返回:
-
作为
RecordedThread对象表示的字段值,可以为null - 抛出:
-
IllegalArgumentException- 如果字段不存在,或字段不是Thread类型 - 参见:
-
toString
返回此对象的文本表示。
-