Class ImmutableValueMap
- java.lang.Object
-
- org.apache.sling.testing.mock.sling.builder.ImmutableValueMap
-
@ProviderType public final class ImmutableValueMap extends Object implements org.apache.sling.api.resource.ValueMap
ValueMap
that does not support changing its content.All methods that may change the content will throw a
UnsupportedOperationException
.Static convenience methods provide similar behavior as Guava ImmutableMap variants.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ImmutableValueMap.Builder
Builder interface forImmutableValueMap
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static @NotNull ImmutableValueMap.Builder
builder()
Returns a new builder.void
clear()
Deprecated.Unsupported operationboolean
containsKey(Object key)
boolean
containsValue(Object value)
static @NotNull ImmutableValueMap
copyOf(@NotNull Map<String,Object> map)
Returns an immutable map containing the same entries asmap
.Set<Map.Entry<String,Object>>
entrySet()
boolean
equals(Object obj)
<T> T
get(@NotNull String name, @NotNull Class<T> type)
<T> T
get(@NotNull String name, T defaultValue)
Object
get(Object key)
int
hashCode()
boolean
isEmpty()
Set<String>
keySet()
static @NotNull ImmutableValueMap
of()
Returns the empty map.static @NotNull ImmutableValueMap
of(@NotNull String k1, @NotNull Object v1)
Returns an immutable map containing a single entry.static @NotNull ImmutableValueMap
of(@NotNull String k1, @NotNull Object v1, @NotNull String k2, @NotNull Object v2)
Returns an immutable map containing the given entries, in order.static @NotNull ImmutableValueMap
of(@NotNull String k1, @NotNull Object v1, @NotNull String k2, @NotNull Object v2, @NotNull String k3, @NotNull Object v3)
Returns an immutable map containing the given entries, in order.static @NotNull ImmutableValueMap
of(@NotNull String k1, @NotNull Object v1, @NotNull String k2, @NotNull Object v2, @NotNull String k3, @NotNull Object v3, @NotNull String k4, @NotNull Object v4)
Returns an immutable map containing the given entries, in order.static ImmutableValueMap
of(@NotNull String k1, @NotNull Object v1, @NotNull String k2, @NotNull Object v2, @NotNull String k3, @NotNull Object v3, @NotNull String k4, @NotNull Object v4, @NotNull String k5, @NotNull Object v5)
Returns an immutable map containing the given entries, in order.Object
put(String key, Object value)
Deprecated.Unsupported operationvoid
putAll(Map<? extends String,? extends Object> m)
Deprecated.Unsupported operationObject
remove(Object key)
Deprecated.Unsupported operationint
size()
String
toString()
Collection<Object>
values()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
Method Detail
-
get
@Nullable public <T> T get(@NotNull @NotNull String name, @NotNull @NotNull Class<T> type)
- Specified by:
get
in interfaceorg.apache.sling.api.resource.ValueMap
-
get
@NotNull public <T> T get(@NotNull @NotNull String name, @NotNull T defaultValue)
- Specified by:
get
in interfaceorg.apache.sling.api.resource.ValueMap
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interfaceMap<String,Object>
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in interfaceMap<String,Object>
-
hashCode
public int hashCode()
-
equals
public boolean equals(Object obj)
-
put
@Deprecated public Object put(String key, Object value)
Deprecated.Unsupported operation
-
remove
@Deprecated public Object remove(Object key)
Deprecated.Unsupported operation
-
putAll
@Deprecated public void putAll(Map<? extends String,? extends Object> m)
Deprecated.Unsupported operation
-
clear
@Deprecated public void clear()
Deprecated.Unsupported operation
-
of
@NotNull public static @NotNull ImmutableValueMap of()
Returns the empty map. This map behaves and performs comparably toCollections.emptyMap()
, and is preferable mainly for consistency and maintainability of your code.- Returns:
- ImmutableValueMap
-
of
@NotNull public static @NotNull ImmutableValueMap of(@NotNull @NotNull String k1, @NotNull @NotNull Object v1)
Returns an immutable map containing a single entry. This map behaves and performs comparably toCollections.singletonMap(K, V)
but will not accept a null key or value. It is preferable mainly for consistency and maintainability of your code.- Parameters:
k1
- Key 1v1
- Value 1- Returns:
- ImmutableValueMap
-
of
@NotNull public static @NotNull ImmutableValueMap of(@NotNull @NotNull String k1, @NotNull @NotNull Object v1, @NotNull @NotNull String k2, @NotNull @NotNull Object v2)
Returns an immutable map containing the given entries, in order.- Parameters:
k1
- Key 1v1
- Value 1k2
- Key 2v2
- Value 2- Returns:
- ImmutableValueMap
- Throws:
IllegalArgumentException
- if duplicate keys are provided
-
of
@NotNull public static @NotNull ImmutableValueMap of(@NotNull @NotNull String k1, @NotNull @NotNull Object v1, @NotNull @NotNull String k2, @NotNull @NotNull Object v2, @NotNull @NotNull String k3, @NotNull @NotNull Object v3)
Returns an immutable map containing the given entries, in order.- Parameters:
k1
- Key 1v1
- Value 1k2
- Key 2v2
- Value 2k3
- Key 3v3
- Value 3- Returns:
- ImmutableValueMap
- Throws:
IllegalArgumentException
- if duplicate keys are provided
-
of
@NotNull public static @NotNull ImmutableValueMap of(@NotNull @NotNull String k1, @NotNull @NotNull Object v1, @NotNull @NotNull String k2, @NotNull @NotNull Object v2, @NotNull @NotNull String k3, @NotNull @NotNull Object v3, @NotNull @NotNull String k4, @NotNull @NotNull Object v4)
Returns an immutable map containing the given entries, in order.- Parameters:
k1
- Key 1v1
- Value 1k2
- Key 2v2
- Value 2k3
- Key 3v3
- Value 3k4
- Key 4v4
- Value 4- Returns:
- ImmutableValueMap
- Throws:
IllegalArgumentException
- if duplicate keys are provided
-
of
public static ImmutableValueMap of(@NotNull @NotNull String k1, @NotNull @NotNull Object v1, @NotNull @NotNull String k2, @NotNull @NotNull Object v2, @NotNull @NotNull String k3, @NotNull @NotNull Object v3, @NotNull @NotNull String k4, @NotNull @NotNull Object v4, @NotNull @NotNull String k5, @NotNull @NotNull Object v5)
Returns an immutable map containing the given entries, in order.- Parameters:
k1
- Key 1v1
- Value 1k2
- Key 2v2
- Value 2k3
- Key 3v3
- Value 3k4
- Key 4v4
- Value 4k5
- Key 5v5
- Value 5- Returns:
- ImmutableValueMap
- Throws:
IllegalArgumentException
- if duplicate keys are provided
-
builder
@NotNull public static @NotNull ImmutableValueMap.Builder builder()
Returns a new builder. The generated builder is equivalent to the builder created by theImmutableValueMap.Builder
constructor.- Returns:
- Builder
-
copyOf
@NotNull public static @NotNull ImmutableValueMap copyOf(@NotNull @NotNull Map<String,Object> map)
Returns an immutable map containing the same entries asmap
. Ifmap
somehow contains entries with duplicate keys (for example, if it is aSortedMap
whose comparator is not consistent with equals), the results of this method are undefined.Despite the method name, this method attempts to avoid actually copying the data when it is safe to do so. The exact circumstances under which a copy will or will not be performed are undocumented and subject to change.
- Parameters:
map
- Map- Returns:
- ImmutableValueMap
- Throws:
NullPointerException
- if any key or value inmap
is null
-
-