Класс RecordedObject
- Прямые известные подклассы:
-
RecordedClass,RecordedClassLoader,RecordedEvent,RecordedFrame,RecordedMethod,RecordedStackTrace,RecordedThread,RecordedThreadGroup
public class RecordedObject extends Object
Этот класс предоставляет методы для выбора и запроса вложенных объектов, передавая точку "." разделитель String объект (например, "aaa.bbb"). Метод оценивает вложенный объект слева направо, и если какая-то часть null, он бросает NullPointerException.
- С момента:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final boolean |
getBoolean |
Возвращает значение поля типа boolean. |
final byte |
getByte |
Возвращает значение поля типа byte. |
final char |
getChar |
Возвращает значение поля типа char. |
final RecordedClass |
getClass |
Возвращает значение поля типа Class. |
final double |
getDouble |
Возвращает значение поля типа double или другого примитивного типа, преобразуемого к типу double с помощью расширяющего преобразования. |
final Duration |
getDuration |
Возвращает значение поля типа timespan. |
List<ValueDescriptor> |
getFields() |
Возвращает неизменяемый список полей для этого объекта. |
final float |
getFloat |
Возвращает значение поля типа float или другого примитивного типа, преобразуемого к типу float с помощью расширяющего преобразования. |
final Instant |
getInstant |
Возвращает значение поля типа timestamp. |
final int |
getInt |
Возвращает значение поля типа int или другого примитивного типа, преобразуемого к типу int с помощью расширяющего преобразования. |
final long |
getLong |
Возвращает значение поля типа long или другого примитивного типа, преобразуемого к типу long с помощью расширяющего преобразования. |
final short |
getShort |
Возвращает значение поля типа short или другого примитивного типа, преобразуемого к типу short с помощью расширяющего преобразования. |
final String |
getString |
Возвращает значение поля типа String. |
final RecordedThread |
getThread |
Возвращает значение поля типа Thread. |
final <T> T |
getValue |
Возвращает значение поля с заданным именем. |
boolean |
hasField |
Возвращает true если поле с заданным именем существует, false в противном случае. |
final String |
toString() |
Возвращает текстовое представление этого объекта. |
Подробные сведения о методах
hasField
public boolean hasField(String name)
true , если поле с заданным именем существует, false в противном случае. Можно индексировать вложенное поле, используя "." (например, "thread.group.parent.name").
- Параметры:
-
name- имя поля для получения, неnull - Возвращает:
-
true, если поле существует,falseв противном случае - См. также:
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не существует - См. также:
getFields
public List<ValueDescriptor> getFields()
- Возвращает:
- поля, не
null
getBoolean
public final boolean getBoolean(String name)
boolean. Можно индексировать вложенный объект, используя "." (например, "aaa.bbb").
Поле может измениться или быть удалено в будущей версии JDK. Рекомендуется вызывающим методам проверять существование поля перед доступом к нему.
- Параметры:
-
name- имя поля для получения, неnull - Возвращает:
- значение поля,
trueилиfalse - Исключения:
-
IllegalArgumentException- если поле не существует или поле не имеет типboolean - См. также:
getByte
public final byte getByte(String name)
byte. Можно индексировать вложенный объект, используя "." (например, "foo.bar").
Поле может измениться или быть удалено в будущей версии JDK. Рекомендуется вызывающим методам проверять существование поля перед доступом к нему.
- Параметры:
-
name- имя поля для получения, неnull - Возвращает:
- значение поля
- Исключения:
-
IllegalArgumentException- если поле не существует или поле не имеет типbyte - См. также:
getChar
public final char getChar(String name)
char. Можно индексировать вложенный объект, используя "." (например, "aaa.bbb").
Поле может измениться или быть удалено в будущей версии JDK. Рекомендуется вызывающим методам проверять существование поля перед доступом к нему.
- Параметры:
-
name- имя поля для получения, неnull - Возвращает:
- значение поля как
char - Исключения:
-
IllegalArgumentException- если поле не существует или поле не имеет типchar - См. также:
getShort
public final short getShort(String name)
short или другого примитивного типа, преобразуемого в тип short с помощью расширяющего преобразования. Этот метод может использоваться для следующих типов: short и byte.
Если поле имеет аннотацию @Unsigned и имеет более узкий тип, чем short, значение возвращается как беззнаковое.
Можно индексировать вложенный объект, используя "." (например, "aaa.bbb").
Поле может измениться или быть удалено в будущей версии JDK. Рекомендуется вызывающим методам проверять существование поля перед доступом к нему.
- Параметры:
-
name- имя поля для получения, неnull - Возвращает:
- значение поля, преобразованное к типу
short - Исключения:
-
IllegalArgumentException- если поле не существует или значение поля не может быть преобразовано в типshortс помощью расширяющего преобразования - См. также:
getInt
public final int getInt(String name)
int или другого примитивного типа, преобразуемого в тип int с помощью расширяющего преобразования. Этот метод может использоваться для полей следующих типов: int, short, char, и byte.
Если поле имеет аннотацию @Unsigned и имеет более узкий тип, чем int, значение возвращается как беззнаковое.
Можно индексировать вложенный объект, используя "." (например, "aaa.bbb").
Поле может измениться или быть удалено в будущей версии JDK. Рекомендуется вызывающим методам проверять существование поля перед доступом к нему.
- Параметры:
-
name- имя поля для получения, неnull - Возвращает:
- значение поля, преобразованное к типу
int - Исключения:
-
IllegalArgumentException- если поле не существует или значение поля не может быть преобразовано в типintс помощью расширяющего преобразования - См. также:
getFloat
public final float getFloat(String name)
float или другого примитивного типа, преобразуемого в тип float с помощью расширяющего преобразования. Этот метод может использоваться для полей следующих типов: float, long, int, short, char, и byte.
Можно индексировать вложенный объект, используя "." (например, "aaa.bbb").
Поле может измениться или быть удалено в будущей версии JDK. Рекомендуется вызывающим методам проверять существование поля перед доступом к нему.
- Параметры:
-
name- имя поля для получения, неnull - Возвращает:
- значение поля, преобразованное к типу
float - Исключения:
-
IllegalArgumentException- если поле не существует или значение поля не может быть преобразовано в типfloatс помощью расширяющего преобразования - См. также:
getLong
public final long getLong(String name)
long или другого примитивного типа, преобразуемого в тип long с помощью расширяющего преобразования. Этот метод может использоваться для полей следующих типов: long, int, short, char, и byte.
Если поле имеет аннотацию @Unsigned и имеет более узкий тип, чем long, значение возвращается как беззнаковое.
Можно индексировать вложенный объект, используя "." (например, "aaa.bbb").
Поле может измениться или быть удалено в будущей версии JDK. Рекомендуется вызывающим методам проверять существование поля перед доступом к нему.
- Параметры:
-
name- имя поля для получения, неnull - Возвращает:
- значение поля, преобразованное к типу
long - Исключения:
-
IllegalArgumentException- если поле не существует или значение поля не может быть преобразовано в типlongс помощью расширяющего преобразования - См. также:
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:
getString
public final String getString(String name)
String. Возможен доступ к вложенному объекту с помощью "." (например, "foo.bar").
Поле может быть изменено или удалено в будущих релизах JDK. Рекомендуется проверять существование поля перед его использованием.
- Parameters:
-
name- имя поля для получения, неnull - Returns:
- значение поля как
String, может бытьnull - Throws:
-
IllegalArgumentException- если поле не существует или поле не типаString - See Also:
getDuration
public final Duration getDuration(String name)
Этот метод может использоваться для полей, аннотированных @Timespan, и следующих типов: long, int, short, char, и byte.
Возможен доступ к вложенному объекту с помощью "." (например, "aaa.bbb").
Поле может быть изменено или удалено в будущих релизах JDK. Рекомендуется проверять существование поля перед его использованием.
- Parameters:
-
name- имя поля для получения, неnull - Returns:
- интервал времени, представленный как
Duration, неnull - Throws:
-
IllegalArgumentException- если поле не существует или значение поля не может быть преобразовано в объектDuration - See Also:
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:
getClass
public final RecordedClass getClass(String name)
Class. Возможен доступ к вложенному объекту с помощью "." (например, "aaa.bbb").
Поле может быть изменено или удалено в будущих релизах JDK. Рекомендуется проверять существование поля перед его использованием.
- Parameters:
-
name- имя поля для получения, неnull - Returns:
- значение поля как
RecordedClass, может бытьnull - Throws:
-
IllegalArgumentException- если поле не существует или поле не типаClass - See Also:
getThread
public final RecordedThread getThread(String name)
Thread. Возможен доступ к вложенному объекту с помощью "." (например, "foo.bar").
Поле может быть изменено или удалено в будущих релизах JDK. Рекомендуется проверять существование поля перед его использованием.
- Parameters:
-
name- имя поля для получения, неnull - Returns:
- значение поля как объект
RecordedThread, может бытьnull - Throws:
-
IllegalArgumentException- если поле не существует или поле не типаThread - See Also:
toString
public final String toString()
- Overrides:
-
toStringв классеObject - Returns:
- текстовое описание этого объекта
© 1993, 2021, 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/17/docs/api/jdk.jfr/jdk/jfr/consumer/RecordedObject.html