Class ClassMetaCache<T>

  • Type Parameters:
    T - type of objects stored in cache

    public class ClassMetaCache<T>
    extends Object
    This class wraps a WeakHashMap that holds one ConcurrentHashMap per ClassLoader. In the rare event of a previously unmapped ClassLoader, the WeakHashMap is replaced by a new one. This avoids any synchronization overhead, much like a CopyOnWriteArrayList
    • Method Detail

      • put

        public T put​(Class<?> key,
                     T value)
        Puts value into cache
        Parameters:
        key - the class that will be used as the value's key
        value - the value that should be stored in cache
        Returns:
        value previously stored in cache for this key, or null if none
      • get

        public T get​(Class<?> key)
        Gets value from cache or returns null if not in cache
        Parameters:
        key - the class that is the key for the value
        Returns:
        value stored in cache or null if none