Module io.leangen.geantyref
Package io.leangen.geantyref
Class AnnotatedTypeMap<K extends java.lang.reflect.AnnotatedType,V>
- java.lang.Object
-
- io.leangen.geantyref.AnnotatedTypeMap<K,V>
-
- Type Parameters:
V
- the type of mapped values
- All Implemented Interfaces:
java.util.Map<K,V>
public class AnnotatedTypeMap<K extends java.lang.reflect.AnnotatedType,V> extends java.lang.Object implements java.util.Map<K,V>
AMap
implementation keyed byAnnotatedType
. The standard maps do not usually suffice asAnnotatedType
implements neitherequals
norhashCode
. This implementation overcomes that limitation by transparently turning eachAnnotatedType
used as the key into the canonical form usingGenericTypeReflector.toCanonical(AnnotatedType)
. By default,AnnotatedTypeMap
instances are backed by aHashMap
, but any map can be used instead. The guarantees ofAnnotatedTypeMap
are then the same as of the map it is backed by.- See Also:
AnnotatedTypeSet
-
-
Constructor Summary
Constructors Constructor Description AnnotatedTypeMap()
Constructs an instance backed by aHashMap
AnnotatedTypeMap(java.util.Map<K,V> inner)
Constructs an instance backed by the provided map, keeping its guarantees
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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()
-
-
-
Method Detail
-
size
public int size()
-
isEmpty
public boolean isEmpty()
-
containsKey
public boolean containsKey(java.lang.Object key)
-
containsValue
public boolean containsValue(java.lang.Object value)
-
get
public V get(java.lang.Object key)
-
remove
public V remove(java.lang.Object key)
-
clear
public void clear()
-
keySet
public java.util.Set<K> keySet()
-
values
public java.util.Collection<V> values()
-
equals
public boolean equals(java.lang.Object o)
-
hashCode
public int hashCode()
-
replaceAll
public void replaceAll(java.util.function.BiFunction<? super K,? super V,? extends V> function)
-
remove
public boolean remove(java.lang.Object key, java.lang.Object value)
-
computeIfAbsent
public V computeIfAbsent(K key, java.util.function.Function<? super K,? extends V> mappingFunction)
-
computeIfPresent
public V computeIfPresent(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)
-
compute
public V compute(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)
-
-