Spec-Zone.ru › OpenJDK 21

Класс ScopedValue.Carrier

java.lang.Object
java.lang.ScopedValue.Carrier
Окружающий класс:
ScopedValuePREVIEW<T>
public static final class ScopedValue.Carrier extends Object
Carrier — это предварительный API платформы Java.
Программы могут использовать Carrier только при включенных предварительных функциях.
Предварительные функции могут быть удалены в будущей версии или доработаны до постоянных функций платформы Java.
Сопоставление значений с областью видимости (ключи) со значениями.

Объект Carrier используется для накопления сопоставлений, чтобы операция (интерфейс Runnable или Callable) могла быть выполнена со всеми значениями в области видимости, связанными со значениями. В следующем примере операция выполняется со значением k1 , связанным (или повторно связанным) со значением v1, и значением k2 , связанным (или повторно связанным) со значением v2.

    ScopedValue.where(k1, v1).where(k2, v2).run(() -> ... );

Объект Carrier неизменяемый и потокобезопасный. Метод where возвращает новый объект Carrier, он не изменяет существующее сопоставление.

Если не указано иное, передача аргумента null методу в этом классе приведет к выбросу исключения NullPointerException.

С момента:
21

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

Модификатор и тип Метод Описание
<R> R call(Callable<? extends R> op)
Вызывает операцию возвращающую значение с каждым значением в области видимости в этом сопоставлении, связанным со своим значением в текущей нити.
<T> T get(ScopedValuePREVIEW<T> key)
Возвращает значение ScopedValueПРЕДПРОСМОТР в этом сопоставлении.
<R> R get(Supplier<? extends R> op)
Вызывает поставщика результатов с каждым значением в области видимости в этом сопоставлении, связанным со своим значением в текущей нити.
void run(Runnable op)
Выполняет операцию с каждым значением в области видимости в этом сопоставлении, связанным со своим значением в текущей нити.
<T> ScopedValue.CarrierPREVIEW where(ScopedValuePREVIEW<T> key, T value)
Возвращает новый Carrier с сопоставлениями из этого носителя плюс новое сопоставление из key в value.

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

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

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

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 завершается с исключением
См. также:
  • ScopedValue.callWhere(ScopedValue, Object, Callable)ПРЕДПРОСМОТР

get

public <R> R get(Supplier<? extends R> op)
Вызывает поставщика результатов с каждым значением в области видимости в этом сопоставлении, связанным со своим значением в текущей нити. По завершении операции (обычно или с исключением), каждое значение в области видимости в сопоставлении будет отвязано, или вернется к своему предыдущему значению, когда было связано, в текущей нити. Если op завершается с исключением, то оно распространяется этим методом.

Значения в области видимости предназначены для использования в структурированном порядке. Если код, вызванный непосредственно или косвенно операцией, создает StructuredTaskScopeПРЕДПРОСМОТР, но не закрываетПРЕДПРОСМОТР, то это определяется как нарушение структуры, когда операция завершается (обычно или с исключением). В этом случае базовая конструкция StructuredTaskScope закрывается, и выбрасывается StructureViolationExceptionПРЕДПРОСМОТР.

Параметры типа:
R - тип результата операции
Параметры:
op - операция для выполнения
Возвращает:
результат
Исключения:
StructureViolationExceptionPREVIEW - если обнаружено нарушение структуры
См. также:
  • ScopedValue.getWhere(ScopedValue, Object, Supplier)ПРЕДПРОСМОТР

run

public void run(Runnable op)
Выполняет операцию с каждым значением в области видимости в этом сопоставлении, связанным со своим значением в текущей нити. По завершении операции (обычно или с исключением), каждое значение в области видимости в сопоставлении будет отвязано, или вернется к своему предыдущему значению, когда было связано, в текущей нити. Если op завершается с исключением, то оно распространяется этим методом.

Значения в области видимости предназначены для использования в структурированном порядке. Если код, вызванный непосредственно или косвенно операцией, создает StructuredTaskScopeПРЕДПРОСМОТР, но не закрываетПРЕДПРОСМОТР, то это определяется как нарушение структуры, когда операция завершается (обычно или с исключением). В этом случае базовая конструкция StructuredTaskScope закрывается, и выбрасывается StructureViolationExceptionПРЕДПРОСМОТР.

Параметры:
op - операция для выполнения
Исключения:
StructureViolationExceptionPREVIEW - если обнаружено нарушение структуры
См. также:
  • ScopedValue.runWhere(ScopedValue, Object, Runnable)ПРЕДПРОСМОТР

© 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

Spec-Zone.ru

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