Class ClassMetaCache<T>

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

    public class ClassMetaCache<T>
    extends java.lang.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
    • Constructor Summary

      Constructors 
      Constructor Description
      ClassMetaCache()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      T get​(java.lang.Class<?> key)
      Gets value from cache or returns null if not in cache
      T put​(java.lang.Class<?> key, T value)
      Puts value into cache
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ClassMetaCache

        public ClassMetaCache()
    • Method Detail

      • put

        public T put​(java.lang.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​(java.lang.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