Класс RecordedObject
- java.lang.Object
-
- jdk.jfr.consumer.RecordedObject
- Прямые известные подклассы:
-
RecordedClass,RecordedClassLoader,RecordedEvent,RecordedFrame,RecordedMethod,RecordedStackTrace,RecordedThread,RecordedThreadGroup
public class RecordedObject extends Object
Сложный тип данных, состоящий из одного или нескольких полей.
Этот класс предоставляет методы для выбора и запроса вложенных объектов, передавая точку "." разделяющие String объект (например, "aaa.bbb"). Метод оценивает вложенный объект слева направо, и если какая-то часть null, он выбрасывает NullPointerException.
- С:
- 9
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean | getBoolean(String name) | Возвращает значение поля типа |
byte | getByte(String name) | Возвращает значение поля типа |
char | getChar(String name) | Возвращает значение поля типа |
RecordedClass | getClass(String name) | Возвращает значение поля типа |
double | getDouble(String name) | Возвращает значение поля типа |
Duration | getDuration(String name) | Возвращает значение поля интервала времени. |
List<ValueDescriptor> | getFields() | Возвращает неизменяемый список полей для этого объекта. |
float | getFloat(String name) | Возвращает значение поля типа |
Instant | getInstant(String name) | Возвращает значение поля отметки времени. |
int | getInt(String name) | Возвращает значение поля типа |
long | getLong(String name) | Возвращает значение поля типа |
short | getShort(String name) | Возвращает значение поля типа |
String | getString(String name) | Возвращает значение поля типа |
RecordedThread | getThread(String name) | Возвращает значение поля типа |
<T> T | getValue(String name) | Возвращает значение поля с заданным именем. |
boolean | hasField(String name) | Возвращает |
String | toString() | Возвращает текстовое представление этого объекта. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Методы
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, и следующих типов: long, int, short, char, и byte.
Можно получить доступ к вложенному объекту с помощью "." (например, "aaa.bbb").
Поле может быть изменено или удалено в будущих релизах JDK. Рекомендуется проверять наличие поля перед обращением к нему.
- Параметры:
-
name- имя поля для получения, неnull - Возвращает:
- временной интервал, представленный как
Duration, неnull - Исключения:
-
IllegalArgumentException- если поле не существует или значение поля нельзя преобразовать в объектDuration - См. также:
hasField(String)
getInstant
public final Instant getInstant(String name)
Возвращает значение поля отметки времени.
Этот метод можно использовать для полей, помеченных аннотацией @Timestamp, и следующих типов: long, int, short, char и byte.
Можно получить доступ к вложенному объекту с помощью "." (например, "aaa.bbb").
Поле может быть изменено или удалено в будущих релизах JDK. Рекомендуется проверять наличие поля перед обращением к нему.
- Параметры:
-
name- имя поля для получения, неnull - Возвращает:
- отметку времени, представленную как
Instant, неnull - Исключения:
-
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)
toString
public final String toString()
Возвращает текстовое представление этого объекта.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.jfr/jdk/jfr/consumer/RecordedObject.html