public class CompositeValueMap extends Object implements ValueMap
ValueMap
based on two ValueMap
s:
- One containing the properties
- Another one containing the defaults to use in case the properties map
does not contain the values.
In case you would like to avoid duplicating properties on multiple resources,
you can use a CompositeValueMap
to get a concatenated map of
properties.Constructor and Description |
---|
CompositeValueMap(ValueMap properties,
ValueMap defaults)
Constructor
|
CompositeValueMap(ValueMap properties,
ValueMap defaults,
boolean merge)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
clear() |
boolean |
containsKey(Object key) |
boolean |
containsValue(Object value) |
Set<Map.Entry<String,Object>> |
entrySet() |
Object |
get(Object key) |
<T> T |
get(@NotNull String name,
@NotNull Class<T> type)
Get a named property and convert it into the given type.
|
<T> T |
get(@NotNull String name,
T defaultValue)
Get a named property and convert it into the given type.
|
boolean |
isEmpty() |
Set<String> |
keySet() |
Object |
put(String aKey,
Object value) |
void |
putAll(Map<? extends String,?> properties) |
Object |
remove(Object key) |
int |
size() |
Collection<Object> |
values() |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
public CompositeValueMap(ValueMap properties, ValueMap defaults, boolean merge)
properties
- The ValueMap
to read fromdefaults
- The default ValueMap
to use as fallbackmerge
- Merge flag
- If true
, getting a key would return the
current property map's value (if available), even if the
corresponding default does not exist.
- If false
, getting a key would return
null
if the corresponding default does not
exist@Nullable public <T> T get(@NotNull @NotNull String name, @NotNull @NotNull Class<T> type)
null
in this
case.@NotNull public <T> T get(@NotNull @NotNull String name, @NotNull T defaultValue)
null
.
Therefore all implementations should internally call Map.get(Object)
when the 2nd parameter
has value null
.get
in interface ValueMap
T
- The expected typename
- The name of the propertydefaultValue
- The default value to use if the named property does
not exist or cannot be converted to the requested type. The
default value is also used to define the type to convert the
value to. Must not be null
. If you want to return null
by default
rather rely on ValueMap.get(String, Class)
.public boolean containsKey(Object key)
containsKey
in interface Map<String,Object>
public boolean containsValue(Object value)
containsValue
in interface Map<String,Object>
Copyright © 2010 - 2020 Adobe. All Rights Reserved