@Override public synchronized boolean isEmpty() { globalLock.lock(); try { reloadCacheIfNeeded(); return currentView.isEmpty(); } finally { globalLock.unlock(); } }
@Override public synchronized boolean containsValue(Object value) { globalLock.lock(); try { reloadCacheIfNeeded(); return currentView.containsValue(value); } finally { globalLock.unlock(); } }
@Override public synchronized Collection<T> values() { globalLock.lock(); try { reloadCacheIfNeeded(); return currentView.values(); } finally { globalLock.unlock(); } }
@Override public synchronized boolean containsKey(Object key) { globalLock.lock(); try { reloadCacheIfNeeded(); return currentView.containsKey(key); } finally { globalLock.unlock(); } }
@Override public synchronized Set<Entry<String, T>> entrySet() { globalLock.lock(); try { reloadCacheIfNeeded(); return currentView.entrySet(); } finally { globalLock.unlock(); } }
@Override public synchronized int size() { globalLock.lock(); try { reloadCacheIfNeeded(); return currentView.size(); } finally { globalLock.unlock(); } }
@Override public synchronized T get(Object key) { globalLock.lock(); try { reloadCacheIfNeeded(); return currentView.get(key); } finally { globalLock.unlock(); } }
@Override public synchronized Set<String> keySet() { globalLock.lock(); try { reloadCacheIfNeeded(); return currentView.keySet(); } finally { globalLock.unlock(); } }
@Override public synchronized T remove(Object key) { globalLock.lock(); try { reloadCacheIfNeeded(); return removeInternal(key); } finally { globalLock.unlock(); } }
public synchronized T put(String key, T value) { globalLock.lock(); try { reloadCacheIfNeeded(); return putInternal(key, value); } finally { globalLock.unlock(); } }
public synchronized void clear() { globalLock.lock(); try { reloadCacheIfNeeded(); clearInternal(); } finally { globalLock.unlock(); } }