Spec-Zone.ru › OpenJDK 24

Класс RecordedObject

java.lang.Object
jdk.jfr.consumer.RecordedObject
Прямые известные подклассы:
RecordedClass, RecordedClassLoader, RecordedEvent, RecordedFrame, RecordedMethod, RecordedStackTrace, RecordedThread, RecordedThreadGroup
public sealed class RecordedObject extends Object permits RecordedEvent, RecordedClassLoader, RecordedClass, RecordedMethod, RecordedStackTrace, RecordedFrame, RecordedThread, RecordedThreadGroup
Сложный тип данных, состоящий из одного или нескольких полей.

Этот класс предоставляет методы для выбора и запроса вложенных объектов, передавая точку ".", разделяющую String объект (например, "aaa.bbb"). Метод вычисляет вложенный объект слева направо, и если какая-то часть является null, он выбрасывает NullPointerException.

С момента:
9

Краткое описание методов

Модификатор и тип Метод Описание
final boolean getBoolean(String name)
Возвращает значение поля типа boolean.
final byte getByte(String name)
Возвращает значение поля типа byte.
final char getChar(String name)
Возвращает значение поля типа char.
final RecordedClass getClass(String name)
Возвращает значение поля типа Class.
final double getDouble(String name)
Возвращает значение поля типа double или другого примитивного типа, преобразуемого в тип double с помощью расширяющего преобразования.
final Duration getDuration(String name)
Возвращает значение поля типа timespan.
List<ValueDescriptor> getFields()
Возвращает неизменяемый список полей для этого объекта.
final float getFloat(String name)
Возвращает значение поля типа float или другого примитивного типа, преобразуемого в тип float с помощью расширяющего преобразования.
final Instant getInstant(String name)
Возвращает значение поля типа timestamp.
final int getInt(String name)
Возвращает значение поля типа int или другого примитивного типа, преобразуемого в тип int с помощью расширяющего преобразования.
final long getLong(String name)
Возвращает значение поля типа long или другого примитивного типа, преобразуемого в тип long с помощью расширяющего преобразования.
final short getShort(String name)
Возвращает значение поля типа short или другого примитивного типа, преобразуемого в тип short с помощью расширяющего преобразования.
final String getString(String name)
Возвращает значение поля типа String.
final RecordedThread getThread(String name)
Возвращает значение поля типа Thread.
final <T> T getValue(String name)
Возвращает значение поля с заданным именем.
boolean hasField(String name)
Возвращает true, если поле с заданным именем существует, false в противном случае.
final String toString()
Возвращает текстовое представление этого объекта.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание методов

hasField

public boolean hasField(String name)
Возвращает true, если поле с заданным именем существует, false в противном случае.

Можно индексировать вложенное поле, используя "." (например, "thread.group.parent.name").

Параметры:
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.getJavaName());
}
Тип параметров:
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)
  • getValue(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)
  • getValue(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)
  • getValue(String)

getLong

public final long getLong(String name)
Возвращает значение поля типа long или другого примитивного типа, преобразуемого к типу long с помощью расширяющего преобразования.

Этот метод может использоваться для полей следующих типов: long, int, short, char и byte.

Если поле имеет аннотацию @Unsigned и имеет тип ужеже, чем long, то значение будет возвращено как беззнаковое.

Возможен доступ к вложенному объекту с помощью "." (например, "aaa.bbb").

Поле может быть изменено или удалено в будущих релизах JDK. Лучшей практикой для вызывающих методов является проверка поля перед его использованием.

Parameters:
name - имя поля для получения, не null
Returns:
значение поля, преобразованное к типу long
Throws:
IllegalArgumentException - если поле не существует или значение поля не может быть преобразовано к типу long с помощью расширяющего преобразования
See Also:
  • hasField(String)
  • getValue(String)

getDouble

public final double getDouble(String name)
Возвращает значение поля типа double или другого примитивного типа, преобразуемого к типу double с помощью расширяющего преобразования.

Этот метод может использоваться для полей следующих типов: double, float, long, int, short, char и byte.

Возможен доступ к вложенному объекту с помощью "." (например, "aaa.bbb").

Поле может быть изменено или удалено в будущих релизах JDK. Лучшей практикой для вызывающих методов является проверка поля перед его использованием.

Parameters:
name - имя поля для получения, не null
Returns:
значение поля, преобразованное к типу double
Throws:
IllegalArgumentException - если поле не существует или значение поля не может быть преобразовано к типу double с помощью расширяющего преобразования
See Also:
  • hasField(String)
  • getValue(String)

getString

public final String getString(String name)
Возвращает значение поля типа String.

Возможен доступ к вложенному объекту с помощью "." (например, "foo.bar").

Поле может быть изменено или удалено в будущих релизах JDK. Лучшей практикой для вызывающих методов является проверка поля перед его использованием.

Parameters:
name - имя поля для получения, не null
Returns:
значение поля в виде String, может быть null
Throws:
IllegalArgumentException - если поле не существует или поле не имеет тип String
See Also:
  • hasField(String)
  • getValue(String)

getDuration

public final Duration getDuration(String name)
Возвращает значение поля интервала времени.

Этот метод может использоваться для полей, аннотированных с помощью @Timespan, и следующих типов: long, int, short, char и byte.

Если значение отслеживаемого события было Long.MAX_VALUE, независимо от единицы, установленной с помощью @Timespan, этот метод возвращает ChronoUnit.FOREVER.

Возможен доступ к вложенному объекту с помощью "." (например, "aaa.bbb").

Поле может быть изменено или удалено в будущих релизах JDK. Лучшей практикой для вызывающих методов является проверка поля перед его использованием.

Parameters:
name - имя поля для получения, не null
Returns:
интервал времени, представленный в виде Duration, не null
Throws:
IllegalArgumentException - если поле не существует или значение поля не может быть преобразовано в объект Duration
See Also:
  • hasField(String)
  • getValue(String)

getInstant

public final Instant getInstant(String name)
Возвращает значение поля отметки времени.

Этот метод может использоваться для полей, аннотированных с помощью @Timestamp, и следующих типов: long, int, short, char и byte.

Возможен доступ к вложенному объекту с помощью "." (например, "aaa.bbb").

Поле может быть изменено или удалено в будущих релизах JDK. Лучшей практикой для вызывающих методов является проверка поля перед его использованием.

Parameters:
name - имя поля для получения, не null
Returns:
отметка времени, представленная как Instant, не null
Throws:
IllegalArgumentException - если поле не существует или значение поля не может быть преобразовано в объект Instant
See Also:
  • hasField(String)
  • getValue(String)

getClass

public final RecordedClass getClass(String name)
Возвращает значение поля типа Class.

Возможен доступ к вложенному объекту с помощью "." (например, "aaa.bbb").

Поле может быть изменено или удалено в будущих релизах JDK. Лучшей практикой для вызывающих методов является проверка поля перед его использованием.

Parameters:
name - имя поля для получения, не null
Returns:
значение поля как RecordedClass, может быть null
Throws:
IllegalArgumentException - если поле не существует или поле не имеет тип Class
See Also:
  • hasField(String)
  • getValue(String)

getThread

public final RecordedThread getThread(String name)
Возвращает значение поля типа Thread.

Возможен доступ к вложенному объекту с помощью "." (например, "foo.bar").

Поле может быть изменено или удалено в будущих релизах JDK. Лучшей практикой для вызывающих методов является проверка поля перед его использованием.

Parameters:
name - имя поля для получения, не null
Returns:
значение поля как объект RecordedThread, может быть null
Throws:
IllegalArgumentException - если поле не существует или поле не имеет тип Thread
See Also:
  • hasField(String)
  • getValue(String)

toString

public final String toString()
Возвращает текстовое представление этого объекта.
Overrides:
toString в классе Object
Returns:
текстовое описание этого объекта

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/jdk.jfr/jdk/jfr/consumer/RecordedObject.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API