Package org.apache.sling.testing.mock.sling.builder

# Class ImmutableValueMap

java.lang.Object
org.apache.sling.testing.mock.sling.builder.ImmutableValueMap

All Implemented Interfaces:
  `Map<String,Object>`, `org.apache.sling.api.resource.ValueMap`

@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 final class`
`ImmutableValueMap.Builder`
Builder interface for `ImmutableValueMap`.

## Nested classes/interfaces inherited from interface java.util.Map

`Map.Entry<K,V>`

## Field Summary

### Fields inherited from interface org.apache.sling.api.resource.ValueMap

`EMPTY`

## Method Summary

Modifier and Type
Method
Description
`static @NotNull ImmutableValueMap.Builder`
`builder()`
Returns a new builder.
`void`
`clear()`
Deprecated.
Unsupported operation
`boolean`
`containsKey(Object key)`
`boolean`
`containsValue(Object value)`
`static @NotNull ImmutableValueMap`
`copyOf(@NotNull Map<String,Object> map)`
Returns an immutable map containing the same entries as `map`.
`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 operation
`void`
`putAll(Map<? extends String,? extends Object> m)`
Deprecated.
Unsupported operation
`Object`
`remove(Object key)`
Deprecated.
Unsupported operation
`int`
`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 Details

### get

@Nullable public <T> T get(@NotNull @NotNull String name, @NotNull @NotNull Class<T> type)

Specified by:
  `get` in interface `org.apache.sling.api.resource.ValueMap`

### get

@NotNull public <T> T get(@NotNull @NotNull String name, @NotNull T defaultValue)

Specified by:
  `get` in interface `org.apache.sling.api.resource.ValueMap`

### size

public int size()

Specified by:
  `size` in interface `Map<String,Object>`

### isEmpty

public boolean isEmpty()

Specified by:
  `isEmpty` in interface `Map<String,Object>`

### containsKey

public boolean containsKey(Object key)

Specified by:
  `containsKey` in interface `Map<String,Object>`

### containsValue

public boolean containsValue(Object value)

Specified by:
  `containsValue` in interface `Map<String,Object>`

### get

public Object get(Object key)

Specified by:
  `get` in interface `Map<String,Object>`

### keySet

public Set<String> keySet()

Specified by:
  `keySet` in interface `Map<String,Object>`

### values

public Collection<Object> values()

Specified by:
  `values` in interface `Map<String,Object>`

### entrySet

public Set<Map.Entry<String,Object>> entrySet()

Specified by:
  `entrySet` in interface `Map<String,Object>`

### hashCode

public int hashCode()

Specified by:
  `hashCode` in interface `Map<String,Object>`
Overrides:
  `hashCode` in class `Object`

### equals

public boolean equals(Object obj)

Specified by:
  `equals` in interface `Map<String,Object>`
Overrides:
  `equals` in class `Object`

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### put

@Deprecated public Object put(String key, Object value)
Deprecated.
Unsupported operation

Specified by:
  `put` in interface `Map<String,Object>`

### remove

@Deprecated public Object remove(Object key)
Deprecated.
Unsupported operation

Specified by:
  `remove` in interface `Map<String,Object>`

### putAll

@Deprecated public void putAll(Map<? extends String,? extends Object> m)
Deprecated.
Unsupported operation

Specified by:
  `putAll` in interface `Map<String,Object>`

### clear

@Deprecated public void clear()
Deprecated.
Unsupported operation

Specified by:
  `clear` in interface `Map<String,Object>`

### of

@NotNull public static @NotNull ImmutableValueMap of()
Returns the empty map. This map behaves and performs comparably to `Collections.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 to `Collections.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 1
  `v1` - 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 1
  `v1` - Value 1
  `k2` - Key 2
  `v2` - 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 1
  `v1` - Value 1
  `k2` - Key 2
  `v2` - Value 2
  `k3` - Key 3
  `v3` - 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 1
  `v1` - Value 1
  `k2` - Key 2
  `v2` - Value 2
  `k3` - Key 3
  `v3` - Value 3
  `k4` - Key 4
  `v4` - 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 1
  `v1` - Value 1
  `k2` - Key 2
  `v2` - Value 2
  `k3` - Key 3
  `v3` - Value 3
  `k4` - Key 4
  `v4` - Value 4
  `k5` - Key 5
  `v5` - 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 the `ImmutableValueMap.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 as `map`. If `map` somehow contains entries with duplicate keys (for example, if it is a `SortedMap` 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 in `map` is null