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