@Override public Object removeObject(Object key) { // despite of its name, this method is called only to release locks releaseLock(key); return null; }
public LruCache(Cache delegate) { this.delegate = delegate; setSize(1024); }
public void rollback() { unlockMissedEntries(); reset(); }
@Override public void putObject(Object key, Object value) { removeGarbageCollectedItems(); delegate.putObject(key, new SoftEntry(key, value, queueOfGarbageCollectedEntries)); }
@Override public void putObject(Object key, Object value) { removeGarbageCollectedItems(); delegate.putObject(key, new WeakEntry(key, value, queueOfGarbageCollectedEntries)); }
@Override public Object getObject(Object key) { acquireLock(key); Object value = delegate.getObject(key); if (value != null) { releaseLock(key); } return value; }
private boolean clearWhenStale() { if (System.currentTimeMillis() - lastClear > clearInterval) { clear(); return true; } return false; }
@Override protected boolean removeEldestEntry(Map.Entry<Object, Object> eldest) { boolean tooBig = size() > size; if (tooBig) { eldestKey = eldest.getKey(); } return tooBig; } };
public void rollback() { for (TransactionalCache txCache : transactionalCaches.values()) { txCache.rollback(); } }
@Override public int getSize() { removeGarbageCollectedItems(); return delegate.getSize(); }
@Override public void putObject(Object key, Object object) { clearWhenStale(); delegate.putObject(key, object); }
@Override public void putObject(Object key, Object value) { delegate.putObject(key, value); cycleKeyList(key); }
@Override public void putObject(Object key, Object value) { cycleKeyList(key); delegate.putObject(key, value); }
@Override public int getSize() { removeGarbageCollectedItems(); return delegate.getSize(); }
private TransactionalCache getTransactionalCache(Cache cache) { TransactionalCache txCache = transactionalCaches.get(cache); if (txCache == null) { txCache = new TransactionalCache(cache); transactionalCaches.put(cache, txCache); } return txCache; }
@Override public void putObject(Object key, Object value) { removeGarbageCollectedItems(); delegate.putObject(key, new SoftEntry(key, value, queueOfGarbageCollectedEntries)); }
@Override public void putObject(Object key, Object value) { removeGarbageCollectedItems(); delegate.putObject(key, new WeakEntry(key, value, queueOfGarbageCollectedEntries)); }
public LruCache(Cache delegate) { this.delegate = delegate; setSize(1024); }
public void rollback() { unlockMissedEntries(); reset(); }
@Override public Object removeObject(Object key) { // despite of its name, this method is called only to release locks releaseLock(key); return null; }