Класс ScopedValue.Carrier
- Внешний класс:
ScopedValue<T>
public static final class ScopedValue.Carrier extends Object
Carrier используется для накопления отображений, чтобы операция (Runnable или ScopedValue.CallableOp) могла выполняться, когда всем ограниченным значениям в отображении сопоставлены значения. В следующем примере выполняется операция, в которой k1 сопоставлено (или повторно сопоставлено) с v1, а k2 сопоставлено (или повторно сопоставлено) с v2.
Carrier является неизменяемым и потокобезопасным. Метод where возвращает новый объект Carrier, а не изменяет существующее отображение.
Если не указано иное, передача аргумента null методу этого класса приводит к выбрасыванию исключения NullPointerException.
- С версии:
- 25
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
<R, X extends Throwable> |
call |
Вызывает операцию, возвращающую значение, при этом каждому ограниченному значению в этом отображении сопоставляется его значение в текущем потоке. |
<T> T |
get |
Возвращает значение ScopedValue из этого отображения. |
void |
run |
Выполняет операцию, при этом каждому ограниченному значению в этом отображении сопоставляется его значение в текущем потоке. |
<T> ScopedValue.Carrier |
where |
Возвращает новый объект Carrier, содержащий отображения из этого носителя и новое отображение от key к value. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения определенного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения определенного промежутка реального времени. |
Подробное описание методов
where
public <T> ScopedValue.Carrier where(ScopedValue<T> key, T value)
Carrier, содержащий отображения из этого носителя и новое отображение от key к value. Если в этом носителе уже имеется отображение для ограниченного значения key, ему будет сопоставлено новое value. Текущий носитель неизменяем, поэтому этот метод его не изменяет.- Параметры типа:
T— тип значения- Параметры:
-
key— ключScopedValue -
value— значение; может бытьnull - Возвращает:
- новый объект
Carrier, содержащий отображения из этого носителя и новое отображение
get
public <T> T get(ScopedValue<T> key)
ScopedValue из этого отображения.- Параметры типа:
T— тип значения- Параметры:
-
key— ключScopedValue - Возвращает:
- значение
- Выбрасывает:
-
NoSuchElementException— если ключ отсутствует в этом отображении
call
public <R, X extends Throwable> R call(ScopedValue.CallableOp<? extends R, X> op) throws X
op завершается с исключением, оно передается этим методом. Предполагается, что ограниченные значения используются структурированным образом. Если код, вызванный операцией прямо или косвенно, создает StructuredTaskScopeПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР, но не вызывает для него закрытиеПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР, это обнаруживается как нарушение структуры при завершении операции (нормальном или с исключением). В этом случае базовая конструкция StructuredTaskScope закрывается, и выбрасывается StructureViolationExceptionПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР.
- Параметры типа:
R— тип результата операцииX— тип исключения, выбрасываемого операцией- Параметры:
-
op— выполняемая операция - Возвращает:
- результат
- Выбрасывает:
-
StructureViolationExceptionPREVIEW— если обнаружено нарушение структуры -
X— еслиopзавершается с исключением
run
public void run(Runnable op)
op завершается с исключением, оно передается этим методом. Предполагается, что ограниченные значения используются структурированным образом. Если код, вызванный операцией прямо или косвенно, создает StructuredTaskScopeПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР, но не вызывает для него закрытиеПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР, это обнаруживается как нарушение структуры при завершении операции (нормальном или с исключением). В этом случае базовая конструкция StructuredTaskScope закрывается, и выбрасывается StructureViolationExceptionПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР.
- Параметры:
-
op— выполняемая операция - Выбрасывает:
-
StructureViolationExceptionPREVIEW— если обнаружено нарушение структуры
© 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.