public final class MapBackedValueStore extends java.lang.Object implements InjectedValueStore
InjectedValueStore
backed by a Map
.EMPTY
Modifier and Type | Method and Description |
---|---|
static MapBackedValueStore |
create() |
static MapBackedValueStore |
create(java.util.Map<Key<?>,ValueProvider<InjectedValueAccess,?>> providers) |
<T> java.util.Optional<T> |
injectedValue(Key<T> key,
InjectedValueAccess context)
Get an injected value, resolving other injected values under the given context.
|
<T> void |
injectValue(Key<T> key,
ValueProvider<InjectedValueAccess,T> provider)
Inject a value into this store.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
injectedValue
public static MapBackedValueStore create()
public static MapBackedValueStore create(java.util.Map<Key<?>,ValueProvider<InjectedValueAccess,?>> providers)
public <T> void injectValue(Key<T> key, ValueProvider<InjectedValueAccess,T> provider)
InjectedValueStore
InjectedValueAccess.injectedValue(Key)
.injectValue
in interface InjectedValueStore
T
- the type of the valuekey
- the key for the valueprovider
- the provider of the valuepublic <T> java.util.Optional<T> injectedValue(Key<T> key, InjectedValueAccess context)
InjectedValueAccess
Provide value injectors to a store.
This alternative to InjectedValueAccess.injectedValue(Key)
is provided mostly for
wrapping classes to function properly.
injectedValue
in interface InjectedValueAccess
Optional.empty()
if not providedInjectedValueStore.injectValue(Key, ValueProvider)