/** Stores all entries contained in the given map in the cache. */ public void putAll(Map<KEY, VALUE> mapDataToPut) { int targetSize = maxSize - mapDataToPut.size(); if (maxSize > 0 && values.size() > targetSize) { evictToTargetSize(targetSize); } Set<Entry<KEY, VALUE>> entries = mapDataToPut.entrySet(); for (Entry<KEY, VALUE> entry : entries) { put(entry.getKey(), entry.getValue()); } }
/** Stores all entries contained in the given map in the cache. */ public void putAll(Map<KEY, VALUE> mapDataToPut) { int targetSize = maxSize - mapDataToPut.size(); if (maxSize > 0 && values.size() > targetSize) { evictToTargetSize(targetSize); } Set<Entry<KEY, VALUE>> entries = mapDataToPut.entrySet(); for (Entry<KEY, VALUE> entry : entries) { put(entry.getKey(), entry.getValue()); } }
private ObjectCache<String, String> createCacheWith4Entries(int expirationMillis) { ObjectCache<String, String> cache = new ObjectCache(ObjectCache.ReferenceType.STRONG, 4, expirationMillis); cache.put("1", "a"); cache.put("2", "b"); cache.put("3", "c"); cache.put("4", "d"); assertEquals(4, cache.size()); return cache; } }
@Test public void testNotExpired() throws InterruptedException { ObjectCache<String, String> cache = new ObjectCache(ObjectCache.ReferenceType.STRONG, 4, 1000); cache.put("1", "a"); Thread.sleep(3); assertEquals(cache.get("1"), "a"); assertEquals(0, cache.getCountExpired()); }
@Test public void testExpired() throws InterruptedException { ObjectCache<String, String> cache = new ObjectCache(ObjectCache.ReferenceType.STRONG, 4, 1); cache.put("1", "a"); Thread.sleep(3); assertNull(cache.get("1")); assertEquals(0, cache.size()); assertEquals(1, cache.getCountExpired()); }
@Test public void testMaxSize() { ObjectCache<String, String> cache = createCacheWith4Entries(0); cache.put("5", "e"); assertEquals(4, cache.size()); assertNull(cache.get("1")); assertEquals(cache.get("5"), "e"); assertEquals(1, cache.getCountEvicted()); }
private void doTestBasics(ObjectCache.ReferenceType referenceType) { ObjectCache<String, String> cache = new ObjectCache(referenceType, 10, 0); String value = "foo"; String value2 = "bar"; String key = "mykey"; assertNull(cache.get(key)); assertNull(cache.put(key, value)); assertTrue(cache.containsKey(key)); assertTrue(cache.containsKeyWithValue(key)); assertEquals(value, cache.get(key)); assertEquals(value, cache.put(key, value2)); assertEquals(value2, cache.get(key)); assertEquals(value2, cache.remove(key)); assertNull(value2, cache.get(key)); assertFalse(cache.containsKey(key)); assertFalse(cache.containsKeyWithValue(key)); }
/** Stores all entries contained in the given map in the cache. */ public void putAll(Map<KEY, VALUE> mapDataToPut) { int targetSize = maxSize - mapDataToPut.size(); if (maxSize > 0 && values.size() > targetSize) { evictToTargetSize(targetSize); } Set<Entry<KEY, VALUE>> entries = mapDataToPut.entrySet(); for (Entry<KEY, VALUE> entry : entries) { put(entry.getKey(), entry.getValue()); } }
/** Stores all entries contained in the given map in the cache. */ public void putAll(Map<KEY, VALUE> mapDataToPut) { int targetSize = maxSize - mapDataToPut.size(); if (maxSize > 0 && values.size() > targetSize) { evictToTargetSize(targetSize); } Set<Entry<KEY, VALUE>> entries = mapDataToPut.entrySet(); for (Entry<KEY, VALUE> entry : entries) { put(entry.getKey(), entry.getValue()); } }