}; private final ClassMetaCache<Field[]> cache = new ClassMetaCache<>();
private static ClassMetaCache<NonContextual<?>> getCache(BeanManager manager) { ClassMetaCache<NonContextual<?>> meta = cache.get(manager); if (meta == null) { synchronized (lock) { meta = cache.get(manager); if (meta == null) { meta = new ClassMetaCache<NonContextual<?>>(); // copy-on-write the cache Map<BeanManager, ClassMetaCache<NonContextual<?>>> newCache = new WeakHashMap<BeanManager, ClassMetaCache<NonContextual<?>>>( cache); newCache.put(manager, meta); cache = Collections.unmodifiableMap(newCache); } } } return meta; }
private static ClassMetaCache<NonContextual<?>> getCache() { ClassMetaCache<NonContextual<?>> meta = cache.get(BeanManagerLookup.lookup()); if (meta == null) { synchronized (lock) { BeanManager manager = BeanManagerLookup.lookup(); meta = cache.get(manager); if (meta == null) { meta = new ClassMetaCache<NonContextual<?>>(); // copy-on-write the cache Map<BeanManager, ClassMetaCache<NonContextual<?>>> newCache = new WeakHashMap<BeanManager, ClassMetaCache<NonContextual<?>>>( cache); newCache.put(manager, meta); cache = Collections.unmodifiableMap(newCache); } } } return meta; }
private static ClassMetaCache<NonContextual<?>> getCache() { ClassMetaCache<NonContextual<?>> meta = cache.get(BeanManagerLookup.lookup()); if (meta == null) { synchronized (lock) { BeanManager manager = BeanManagerLookup.lookup(); meta = cache.get(manager); if (meta == null) { meta = new ClassMetaCache<NonContextual<?>>(); // copy-on-write the cache Map<BeanManager, ClassMetaCache<NonContextual<?>>> newCache = new WeakHashMap<BeanManager, ClassMetaCache<NonContextual<?>>>( cache); newCache.put(manager, meta); cache = Collections.unmodifiableMap(newCache); } } } return meta; }
private static ClassMetaCache<NonContextual<?>> getCache() { ClassMetaCache<NonContextual<?>> meta = cache.get(CDI.current().getBeanManager()); if (meta == null) { synchronized (lock) { BeanManager manager = CDI.current().getBeanManager(); meta = cache.get(manager); if (meta == null) { meta = new ClassMetaCache<>(); // copy-on-write the cache Map<BeanManager, ClassMetaCache<NonContextual<?>>> newCache = new WeakHashMap<>(cache); newCache.put(manager, meta); cache = Collections.unmodifiableMap(newCache); } } } return meta; }