Класс ScopedValue.Carrier
- Окружающий класс:
ScopedValuePREVIEW<T>
public static final class ScopedValue.Carrier extends Object
Carrier — это предварительный API платформы Java. Объект Carrier используется для накопления сопоставлений, чтобы операция (интерфейс Runnable или Callable) могла быть выполнена со всеми значениями в области видимости, связанными со значениями. В следующем примере операция выполняется со значением k1 , связанным (или повторно связанным) со значением v1, и значением k2 , связанным (или повторно связанным) со значением v2.
Объект Carrier неизменяемый и потокобезопасный. Метод where возвращает новый объект Carrier, он не изменяет существующее сопоставление.
Если не указано иное, передача аргумента null методу в этом классе приведет к выбросу исключения NullPointerException.
- С момента:
- 21
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
<R> R |
call |
Вызывает операцию возвращающую значение с каждым значением в области видимости в этом сопоставлении, связанным со своим значением в текущей нити. |
<T> T |
get |
Возвращает значение ScopedValueПРЕДПРОСМОТР в этом сопоставлении. |
<R> R |
get |
Вызывает поставщика результатов с каждым значением в области видимости в этом сопоставлении, связанным со своим значением в текущей нити. |
void |
run |
Выполняет операцию с каждым значением в области видимости в этом сопоставлении, связанным со своим значением в текущей нити. |
<T> ScopedValue.CarrierPREVIEW |
where |
Возвращает новый Carrier с сопоставлениями из этого носителя плюс новое сопоставление из key в value. |
Подробное описание методов
where
public <T> ScopedValue.CarrierPREVIEW where(ScopedValuePREVIEW<T> key, T value)
Carrier с сопоставлениями из этого носителя плюс новое сопоставление из key в value. Если этот носитель уже имеет сопоставление для значения key , то оно будет отображаться на новое значение value. Текущий носитель неизменяемый, поэтому он не изменяется этим методом.- Параметры типа:
-
T- тип значения - Параметры:
-
key- ключScopedValue -
value- значение, может бытьnull - Возвращает:
- новый
Carrierс сопоставлениями из этого носителя плюс новое сопоставление
get
public <T> T get(ScopedValuePREVIEW<T> key)
ScopedValueПРЕДПРОСМОТР в этом сопоставлении.- Параметры типа:
-
T- тип значения - Параметры:
-
key- ключScopedValue - Возвращает:
- значение
- Исключения:
-
NoSuchElementException- если ключ отсутствует в этом сопоставлении
call
public <R> R call(Callable<? extends R> op) throws Exception
op завершается с исключением, то оно распространяется этим методом. Значения в области видимости предназначены для использования в структурированном порядке. Если код, вызванный непосредственно или косвенно операцией, создает StructuredTaskScopeПРЕДПРОСМОТР, но не закрываетПРЕДПРОСМОТР, то это определяется как нарушение структуры, когда операция завершается (обычно или с исключением). В этом случае базовая конструкция StructuredTaskScope закрывается, и выбрасывается StructureViolationExceptionПРЕДПРОСМОТР.
- Параметры типа:
-
R- тип результата операции - Параметры:
-
op- операция для выполнения - Возвращает:
- результат
- Исключения:
-
StructureViolationExceptionPREVIEW- если обнаружено нарушение структуры -
Exception- еслиopзавершается с исключением - См. также:
get
public <R> R get(Supplier<? extends R> op)
op завершается с исключением, то оно распространяется этим методом. Значения в области видимости предназначены для использования в структурированном порядке. Если код, вызванный непосредственно или косвенно операцией, создает StructuredTaskScopeПРЕДПРОСМОТР, но не закрываетПРЕДПРОСМОТР, то это определяется как нарушение структуры, когда операция завершается (обычно или с исключением). В этом случае базовая конструкция StructuredTaskScope закрывается, и выбрасывается StructureViolationExceptionПРЕДПРОСМОТР.
- Параметры типа:
-
R- тип результата операции - Параметры:
-
op- операция для выполнения - Возвращает:
- результат
- Исключения:
-
StructureViolationExceptionPREVIEW- если обнаружено нарушение структуры - См. также:
run
public void run(Runnable op)
op завершается с исключением, то оно распространяется этим методом. Значения в области видимости предназначены для использования в структурированном порядке. Если код, вызванный непосредственно или косвенно операцией, создает StructuredTaskScopeПРЕДПРОСМОТР, но не закрываетПРЕДПРОСМОТР, то это определяется как нарушение структуры, когда операция завершается (обычно или с исключением). В этом случае базовая конструкция StructuredTaskScope закрывается, и выбрасывается StructureViolationExceptionПРЕДПРОСМОТР.
- Параметры:
-
op- операция для выполнения - Исключения:
-
StructureViolationExceptionPREVIEW- если обнаружено нарушение структуры - См. также:
© 1993, 2023, 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/21/docs/api/java.base/java/lang/ScopedValue.Carrier.html
Carrierтолько при включенных предварительных функциях.