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
private static class
ExtensionValuesStore.StoredValue
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicInteger
insertOrderSequence
private ExtensionValuesStore
parentStore
private static java.util.Comparator<ExtensionValuesStore.StoredValue>
REVERSE_INSERT_ORDER
private java.util.concurrent.ConcurrentMap<ExtensionValuesStore.CompositeKey,ExtensionValuesStore.StoredValue>
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 ExtensionValuesStore.StoredValue
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)
private ExtensionValuesStore.StoredValue
storedValue(java.util.function.Supplier<java.lang.Object> value)
-
-
-
Field Detail
-
REVERSE_INSERT_ORDER
private static final java.util.Comparator<ExtensionValuesStore.StoredValue> REVERSE_INSERT_ORDER
-
insertOrderSequence
private final java.util.concurrent.atomic.AtomicInteger insertOrderSequence
-
storedValues
private final java.util.concurrent.ConcurrentMap<ExtensionValuesStore.CompositeKey,ExtensionValuesStore.StoredValue> storedValues
-
parentStore
private final ExtensionValuesStore parentStore
-
-
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)
-
storedValue
private ExtensionValuesStore.StoredValue storedValue(java.util.function.Supplier<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 ExtensionValuesStore.StoredValue getStoredValue(ExtensionValuesStore.CompositeKey compositeKey)
-
castToRequiredType
private <T> T castToRequiredType(java.lang.Object key, java.lang.Object value, java.lang.Class<T> requiredType)
-
-