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>AMapimplementation keyed byAnnotatedType. The standard maps do not usually suffice asAnnotatedTypeimplements neitherequalsnorhashCode. This implementation overcomes that limitation by transparently turning eachAnnotatedTypeused as the key into the canonical form usingGenericTypeReflector.toCanonical(AnnotatedType). By default,AnnotatedTypeMapinstances are backed by aHashMap, but any map can be used instead. The guarantees ofAnnotatedTypeMapare 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 aHashMapAnnotatedTypeMap(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 voidclear()Vcompute(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)VcomputeIfAbsent(K key, java.util.function.Function<? super K,? extends V> mappingFunction)VcomputeIfPresent(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)java.util.Set<java.util.Map.Entry<K,V>>entrySet()booleanequals(java.lang.Object o)voidforEach(java.util.function.BiConsumer<? super K,? super V> action)Vget(java.lang.Object key)VgetOrDefault(java.lang.Object key, V defaultValue)inthashCode()booleanisEmpty()java.util.Set<K>keySet()Vmerge(K key, V value, java.util.function.BiFunction<? super V,? super V,? extends V> remappingFunction)Vput(K key, V value)voidputAll(java.util.Map<? extends K,? extends V> m)VputIfAbsent(K key, V value)Vremove(java.lang.Object key)booleanremove(java.lang.Object key, java.lang.Object value)Vreplace(K key, V value)booleanreplace(K key, V oldValue, V newValue)voidreplaceAll(java.util.function.BiFunction<? super K,? super V,? extends V> function)intsize()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)
-
-