Class ExtensionValuesStore
- java.lang.Object
-
- org.junit.jupiter.engine.execution.ExtensionValuesStore
-
@API(status=INTERNAL, since="5.0") public class ExtensionValuesStore extends java.lang.Object
ExtensionValuesStore
is used inside implementations ofExtensionContext
to store and retrieve values.- Since:
- 5.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
ExtensionValuesStore.CompositeKey
private static class
ExtensionValuesStore.MemoizingSupplier
-
Field Summary
Fields Modifier and Type Field Description private ExtensionValuesStore
parentStore
private java.util.concurrent.ConcurrentMap<ExtensionValuesStore.CompositeKey,java.util.function.Supplier<java.lang.Object>>
storedValues
-
Constructor Summary
Constructors Constructor Description ExtensionValuesStore(ExtensionValuesStore parentStore)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private <T> T
castToRequiredType(java.lang.Object key, java.lang.Object value, java.lang.Class<T> requiredType)
void
closeAllStoredCloseableValues()
Close all values that implementExtensionContext.Store.CloseableResource
.(package private) java.lang.Object
get(ExtensionContext.Namespace namespace, java.lang.Object key)
(package private) <T> T
get(ExtensionContext.Namespace namespace, java.lang.Object key, java.lang.Class<T> requiredType)
(package private) <K,V>
java.lang.ObjectgetOrComputeIfAbsent(ExtensionContext.Namespace namespace, K key, java.util.function.Function<K,V> defaultCreator)
(package private) <K,V>
VgetOrComputeIfAbsent(ExtensionContext.Namespace namespace, K key, java.util.function.Function<K,V> defaultCreator, java.lang.Class<V> requiredType)
private java.util.function.Supplier<java.lang.Object>
getStoredValue(ExtensionValuesStore.CompositeKey compositeKey)
(package private) void
put(ExtensionContext.Namespace namespace, java.lang.Object key, java.lang.Object value)
(package private) java.lang.Object
remove(ExtensionContext.Namespace namespace, java.lang.Object key)
(package private) <T> T
remove(ExtensionContext.Namespace namespace, java.lang.Object key, java.lang.Class<T> requiredType)
-
-
-
Field Detail
-
parentStore
private final ExtensionValuesStore parentStore
-
storedValues
private final java.util.concurrent.ConcurrentMap<ExtensionValuesStore.CompositeKey,java.util.function.Supplier<java.lang.Object>> storedValues
-
-
Constructor Detail
-
ExtensionValuesStore
public ExtensionValuesStore(ExtensionValuesStore parentStore)
-
-
Method Detail
-
closeAllStoredCloseableValues
public void closeAllStoredCloseableValues()
Close all values that implementExtensionContext.Store.CloseableResource
.
-
get
java.lang.Object get(ExtensionContext.Namespace namespace, java.lang.Object key)
-
get
<T> T get(ExtensionContext.Namespace namespace, java.lang.Object key, java.lang.Class<T> requiredType)
-
getOrComputeIfAbsent
<K,V> java.lang.Object getOrComputeIfAbsent(ExtensionContext.Namespace namespace, K key, java.util.function.Function<K,V> defaultCreator)
-
getOrComputeIfAbsent
<K,V> V getOrComputeIfAbsent(ExtensionContext.Namespace namespace, K key, java.util.function.Function<K,V> defaultCreator, java.lang.Class<V> requiredType)
-
put
void put(ExtensionContext.Namespace namespace, java.lang.Object key, java.lang.Object value)
-
remove
java.lang.Object remove(ExtensionContext.Namespace namespace, java.lang.Object key)
-
remove
<T> T remove(ExtensionContext.Namespace namespace, java.lang.Object key, java.lang.Class<T> requiredType)
-
getStoredValue
private java.util.function.Supplier<java.lang.Object> getStoredValue(ExtensionValuesStore.CompositeKey compositeKey)
-
castToRequiredType
private <T> T castToRequiredType(java.lang.Object key, java.lang.Object value, java.lang.Class<T> requiredType)
-
-