Package io.wcm.sling.commons.resource
Class ImmutableValueMap
- java.lang.Object
-
- io.wcm.sling.commons.resource.ImmutableValueMap
-
@ProviderType public final class ImmutableValueMap extends Object implements org.apache.sling.api.resource.ValueMap
ValueMapthat 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 classImmutableValueMap.BuilderBuilder interface forImmutableValueMap.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static @NotNull ImmutableValueMap.Builderbuilder()Returns a new builder.voidclear()Deprecated.Unsupported operationbooleancontainsKey(Object key)booleancontainsValue(Object value)static @NotNull ImmutableValueMapcopyOf(@NotNull Map<String,Object> map)Returns an immutable map containing the same entries asmap.Set<Map.Entry<String,Object>>entrySet()booleanequals(Object obj)<T> Tget(@NotNull String name, @NotNull Class<T> type)<T> Tget(@NotNull String name, T defaultValue)Objectget(Object key)inthashCode()booleanisEmpty()Set<String>keySet()static @NotNull ImmutableValueMapof()Returns the empty map.static @NotNull ImmutableValueMapof(@NotNull String k1, @NotNull Object v1)Returns an immutable map containing a single entry.static @NotNull ImmutableValueMapof(@NotNull String k1, @NotNull Object v1, @NotNull String k2, @NotNull Object v2)Returns an immutable map containing the given entries, in order.static @NotNull ImmutableValueMapof(@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 ImmutableValueMapof(@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 ImmutableValueMapof(@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.Objectput(String key, Object value)Deprecated.Unsupported operationvoidputAll(Map<? extends String,? extends Object> m)Deprecated.Unsupported operationObjectremove(Object key)Deprecated.Unsupported operationintsize()StringtoString()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:
getin interfaceorg.apache.sling.api.resource.ValueMap
-
get
public <T> T get(@NotNull @NotNull String name, T defaultValue)- Specified by:
getin interfaceorg.apache.sling.api.resource.ValueMap
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKeyin interfaceMap<String,Object>
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValuein 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.Builderconstructor.- Returns:
- Builder
-
copyOf
@NotNull public static @NotNull ImmutableValueMap copyOf(@NotNull @NotNull Map<String,Object> map)
Returns an immutable map containing the same entries asmap. Ifmapsomehow contains entries with duplicate keys (for example, if it is aSortedMapwhose 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 inmapis null
-
-