Package io.wcm.sling.commons.resource
Class ImmutableValueMap
- java.lang.Object
-
- io.wcm.sling.commons.resource.ImmutableValueMap
-
- All Implemented Interfaces:
java.util.Map<java.lang.String,java.lang.Object>
,org.apache.sling.api.resource.ValueMap
@ProviderType public final class ImmutableValueMap extends java.lang.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(java.lang.Object key)
boolean
containsValue(java.lang.Object value)
static @NotNull ImmutableValueMap
copyOf(@NotNull java.util.Map<java.lang.String,java.lang.Object> map)
Returns an immutable map containing the same entries asmap
.java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>>
entrySet()
boolean
equals(java.lang.Object obj)
<T> T
get(@NotNull java.lang.String name, @NotNull java.lang.Class<T> type)
<T> T
get(@NotNull java.lang.String name, T defaultValue)
java.lang.Object
get(java.lang.Object key)
int
hashCode()
boolean
isEmpty()
java.util.Set<java.lang.String>
keySet()
static @NotNull ImmutableValueMap
of()
Returns the empty map.static @NotNull ImmutableValueMap
of(@NotNull java.lang.String k1, @NotNull java.lang.Object v1)
Returns an immutable map containing a single entry.static @NotNull ImmutableValueMap
of(@NotNull java.lang.String k1, @NotNull java.lang.Object v1, @NotNull java.lang.String k2, @NotNull java.lang.Object v2)
Returns an immutable map containing the given entries, in order.static @NotNull ImmutableValueMap
of(@NotNull java.lang.String k1, @NotNull java.lang.Object v1, @NotNull java.lang.String k2, @NotNull java.lang.Object v2, @NotNull java.lang.String k3, @NotNull java.lang.Object v3)
Returns an immutable map containing the given entries, in order.static @NotNull ImmutableValueMap
of(@NotNull java.lang.String k1, @NotNull java.lang.Object v1, @NotNull java.lang.String k2, @NotNull java.lang.Object v2, @NotNull java.lang.String k3, @NotNull java.lang.Object v3, @NotNull java.lang.String k4, @NotNull java.lang.Object v4)
Returns an immutable map containing the given entries, in order.static ImmutableValueMap
of(@NotNull java.lang.String k1, @NotNull java.lang.Object v1, @NotNull java.lang.String k2, @NotNull java.lang.Object v2, @NotNull java.lang.String k3, @NotNull java.lang.Object v3, @NotNull java.lang.String k4, @NotNull java.lang.Object v4, @NotNull java.lang.String k5, @NotNull java.lang.Object v5)
Returns an immutable map containing the given entries, in order.java.lang.Object
put(java.lang.String key, java.lang.Object value)
Deprecated.Unsupported operationvoid
putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> m)
Deprecated.Unsupported operationjava.lang.Object
remove(java.lang.Object key)
Deprecated.Unsupported operationint
size()
java.lang.String
toString()
java.util.Collection<java.lang.Object>
values()
-
-
-
Method Detail
-
get
@Nullable public <T> T get(@NotNull @NotNull java.lang.String name, @NotNull @NotNull java.lang.Class<T> type)
- Specified by:
get
in interfaceorg.apache.sling.api.resource.ValueMap
-
get
@NotNull public <T> T get(@NotNull @NotNull java.lang.String name, @NotNull T defaultValue)
- Specified by:
get
in interfaceorg.apache.sling.api.resource.ValueMap
-
size
public int size()
- Specified by:
size
in interfacejava.util.Map<java.lang.String,java.lang.Object>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfacejava.util.Map<java.lang.String,java.lang.Object>
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKey
in interfacejava.util.Map<java.lang.String,java.lang.Object>
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValue
in interfacejava.util.Map<java.lang.String,java.lang.Object>
-
get
public java.lang.Object get(java.lang.Object key)
- Specified by:
get
in interfacejava.util.Map<java.lang.String,java.lang.Object>
-
keySet
public java.util.Set<java.lang.String> keySet()
- Specified by:
keySet
in interfacejava.util.Map<java.lang.String,java.lang.Object>
-
values
public java.util.Collection<java.lang.Object> values()
- Specified by:
values
in interfacejava.util.Map<java.lang.String,java.lang.Object>
-
entrySet
public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
- Specified by:
entrySet
in interfacejava.util.Map<java.lang.String,java.lang.Object>
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacejava.util.Map<java.lang.String,java.lang.Object>
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equals
in interfacejava.util.Map<java.lang.String,java.lang.Object>
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
put
@Deprecated(since="1.0.0") public java.lang.Object put(java.lang.String key, java.lang.Object value)
Deprecated.Unsupported operation- Specified by:
put
in interfacejava.util.Map<java.lang.String,java.lang.Object>
-
remove
@Deprecated(since="1.0.0") public java.lang.Object remove(java.lang.Object key)
Deprecated.Unsupported operation- Specified by:
remove
in interfacejava.util.Map<java.lang.String,java.lang.Object>
-
putAll
@Deprecated(since="1.0.0") public void putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> m)
Deprecated.Unsupported operation- Specified by:
putAll
in interfacejava.util.Map<java.lang.String,java.lang.Object>
-
clear
@Deprecated(since="1.0.0") public void clear()
Deprecated.Unsupported operation- Specified by:
clear
in interfacejava.util.Map<java.lang.String,java.lang.Object>
-
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 java.lang.String k1, @NotNull @NotNull java.lang.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 java.lang.String k1, @NotNull @NotNull java.lang.Object v1, @NotNull @NotNull java.lang.String k2, @NotNull @NotNull java.lang.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:
java.lang.IllegalArgumentException
- if duplicate keys are provided
-
of
@NotNull public static @NotNull ImmutableValueMap of(@NotNull @NotNull java.lang.String k1, @NotNull @NotNull java.lang.Object v1, @NotNull @NotNull java.lang.String k2, @NotNull @NotNull java.lang.Object v2, @NotNull @NotNull java.lang.String k3, @NotNull @NotNull java.lang.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:
java.lang.IllegalArgumentException
- if duplicate keys are provided
-
of
@NotNull public static @NotNull ImmutableValueMap of(@NotNull @NotNull java.lang.String k1, @NotNull @NotNull java.lang.Object v1, @NotNull @NotNull java.lang.String k2, @NotNull @NotNull java.lang.Object v2, @NotNull @NotNull java.lang.String k3, @NotNull @NotNull java.lang.Object v3, @NotNull @NotNull java.lang.String k4, @NotNull @NotNull java.lang.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:
java.lang.IllegalArgumentException
- if duplicate keys are provided
-
of
public static ImmutableValueMap of(@NotNull @NotNull java.lang.String k1, @NotNull @NotNull java.lang.Object v1, @NotNull @NotNull java.lang.String k2, @NotNull @NotNull java.lang.Object v2, @NotNull @NotNull java.lang.String k3, @NotNull @NotNull java.lang.Object v3, @NotNull @NotNull java.lang.String k4, @NotNull @NotNull java.lang.Object v4, @NotNull @NotNull java.lang.String k5, @NotNull @NotNull java.lang.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:
java.lang.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 java.util.Map<java.lang.String,java.lang.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:
java.lang.NullPointerException
- if any key or value inmap
is null
-
-