V
- the type of mapped valuespublic class AnnotatedTypeMap<K extends java.lang.reflect.AnnotatedType,V>
extends java.lang.Object
implements java.util.Map<K,V>
Map
implementation keyed by AnnotatedType
.
The standard maps do not usually suffice as AnnotatedType
implements neither equals
nor hashCode
.
This implementation overcomes that limitation by transparently turning each AnnotatedType
used as the key
into the canonical form using GenericTypeReflector.toCanonical(AnnotatedType)
.
By default, AnnotatedTypeMap
instances are backed by a HashMap
, but any map can be used instead.
The guarantees of AnnotatedTypeMap
are then the same as of the map it is backed by.AnnotatedTypeSet
Constructor and Description |
---|
AnnotatedTypeMap()
Constructs an instance backed by a
HashMap |
AnnotatedTypeMap(java.util.Map<K,V> inner)
Constructs an instance backed by the provided map, keeping its guarantees
|
Modifier and Type | Method and Description |
---|---|
void |
clear() |
V |
compute(K key,
java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction) |
V |
computeIfAbsent(K key,
java.util.function.Function<? super K,? extends V> mappingFunction) |
V |
computeIfPresent(K key,
java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction) |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
java.util.Set<java.util.Map.Entry<K,V>> |
entrySet() |
boolean |
equals(java.lang.Object o) |
void |
forEach(java.util.function.BiConsumer<? super K,? super V> action) |
V |
get(java.lang.Object key) |
V |
getOrDefault(java.lang.Object key,
V defaultValue) |
int |
hashCode() |
boolean |
isEmpty() |
java.util.Set<K> |
keySet() |
V |
merge(K key,
V value,
java.util.function.BiFunction<? super V,? super V,? extends V> remappingFunction) |
V |
put(K key,
V value) |
void |
putAll(java.util.Map<? extends K,? extends V> m) |
V |
putIfAbsent(K key,
V value) |
V |
remove(java.lang.Object key) |
boolean |
remove(java.lang.Object key,
java.lang.Object value) |
V |
replace(K key,
V value) |
boolean |
replace(K key,
V oldValue,
V newValue) |
void |
replaceAll(java.util.function.BiFunction<? super K,? super V,? extends V> function) |
int |
size() |
java.util.Collection<V> |
values() |
public AnnotatedTypeMap()
HashMap
public int size()
public boolean isEmpty()
public boolean containsKey(java.lang.Object key)
public boolean containsValue(java.lang.Object value)
public V get(java.lang.Object key)
public V remove(java.lang.Object key)
public void clear()
public java.util.Set<K> keySet()
public java.util.Collection<V> values()
public boolean equals(java.lang.Object o)
public int hashCode()
public void replaceAll(java.util.function.BiFunction<? super K,? super V,? extends V> function)
public boolean remove(java.lang.Object key, java.lang.Object value)
public V computeIfAbsent(K key, java.util.function.Function<? super K,? extends V> mappingFunction)
public V computeIfPresent(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)
public V compute(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)