Package org.apache.cayenne.util
Class SingleEntryMap<K,V>
- java.lang.Object
-
- org.apache.cayenne.util.SingleEntryMap<K,V>
-
- All Implemented Interfaces:
Serializable
,Map<K,V>
,Map.Entry<K,V>
public class SingleEntryMap<K,V> extends Object implements Map<K,V>, Map.Entry<K,V>, Serializable
Optimized mutable single-entry map.This implementation is compatible with general
Map
contract, includingMap.equals(Object)
,Map.hashCode()
andAbstractMap.toString()
implementations.This Map can store only one key that is defined at creation time and can't be changed. This map will throw
IllegalArgumentException
on any put operation with the wrong key and returnnull
on get.This map will be effectively empty after putting null value.
- Since:
- 4.2
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SingleEntryMap(K key)
Create empty mapSingleEntryMap(K key, V value)
Create map with single key-value entry
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
V
compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
V
computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
V
computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
boolean
containsKey(Object key)
boolean
containsValue(Object value)
Set<Map.Entry<K,V>>
entrySet()
boolean
equals(Object o)
void
forEach(BiConsumer<? super K,? super V> action)
V
get(Object key)
K
getKey()
V
getOrDefault(Object key, V defaultValue)
V
getValue()
int
hashCode()
boolean
isEmpty()
Set<K>
keySet()
V
merge(K key, V newValue, BiFunction<? super V,? super V,? extends V> remappingFunction)
V
put(K key, V value)
void
putAll(Map<? extends K,? extends V> map)
V
putIfAbsent(K key, V value)
V
remove(Object key)
boolean
remove(Object key, Object value)
V
replace(K key, V value)
boolean
replace(K key, V oldValue, V newValue)
V
setValue(V value)
int
size()
String
toString()
Collection<V>
values()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
replaceAll
-
-
-
-
Constructor Detail
-
SingleEntryMap
public SingleEntryMap(K key)
Create empty map- Parameters:
key
- that can be stored in this map, can't be null
-
-
Method Detail
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interfaceMap<K,V>
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in interfaceMap<K,V>
-
equals
public boolean equals(Object o)
-
hashCode
public int hashCode()
-
forEach
public void forEach(BiConsumer<? super K,? super V> action)
-
getOrDefault
public V getOrDefault(Object key, V defaultValue)
- Specified by:
getOrDefault
in interfaceMap<K,V>
-
computeIfAbsent
public V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
- Specified by:
computeIfAbsent
in interfaceMap<K,V>
-
computeIfPresent
public V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
- Specified by:
computeIfPresent
in interfaceMap<K,V>
-
merge
public V merge(K key, V newValue, BiFunction<? super V,? super V,? extends V> remappingFunction)
-
-