private void addToCache(Object hashKey, FileCacheable ncfile) { CacheElement newCacheElem = new CacheElement(hashKey); CacheElement previous = cache.putIfAbsent(hashKey, newCacheElem); // add new element if doesnt exist CacheElement elem = (previous != null) ? previous : newCacheElem; // use previous if it exists elem.addFile(ncfile); // add to existing list shadowCache.put(newCacheElem, newCacheElem); int size = cacheSize.getAndIncrement(); if (size > softLimit) { removeFromCache(size - softLimit); } }
private void addToCache(Object hashKey, FileCacheable ncfile) { CacheElement newCacheElem = new CacheElement(hashKey); CacheElement previous = cache.putIfAbsent(hashKey, newCacheElem); // add new element if doesnt exist CacheElement elem = (previous != null) ? previous : newCacheElem; // use previous if it exists elem.addFile(ncfile); // add to existing list shadowCache.put(newCacheElem, newCacheElem); int size = cacheSize.getAndIncrement(); if (size > softLimit) { removeFromCache(size - softLimit); } }