Class MapBackedClassValue<V>
- java.lang.Object
-
- org.hibernate.internal.util.collections.MapBackedClassValue<V>
-
- Type Parameters:
V- the type of the values stored in the Maps.
- All Implemented Interfaces:
ReadOnlyMap<Class,V>
public final class MapBackedClassValue<V> extends Object implements ReadOnlyMap<Class,V>
For efficient lookup based on Class types as key, a ClassValue should be used; however it requires lazy association of values; this helper wraps a plain HashMap but optimises lookups via the ClassValue. N.B. there is a cost in memory and in terms of weak references, so let's use this only where proven that a simple Map lookup is otherwise too costly.- Since:
- 6.2
-
-
Field Summary
-
Fields inherited from interface org.hibernate.internal.util.collections.ReadOnlyMap
EMPTY
-
-
Constructor Summary
Constructors Constructor Description MapBackedClassValue(Map<Class<?>,V> map)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddispose()Use this to wipe the backing map, important to avoid classloader leaks.Vget(Class key)The main operation.
-
-
-
Method Detail
-
get
public V get(Class key)
Description copied from interface:ReadOnlyMapThe main operation.- Specified by:
getin interfaceReadOnlyMap<Class,V>- Returns:
- the corresponding object, or null if there is no association with any entry.
-
dispose
public void dispose()
Use this to wipe the backing map, important to avoid classloader leaks.- Specified by:
disposein interfaceReadOnlyMap<Class,V>
-
-