Mercurial > dive4elements > framework
comparison artifacts-common/src/main/java/de/intevation/artifacts/common/utils/LRUCache.java @ 306:9dbeb88006e9
Added simple in-memory LRU cache
artifacts/trunk@2414 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 28 Jul 2011 14:08:25 +0000 |
parents | |
children | c40729bfe06d |
comparison
equal
deleted
inserted
replaced
305:f33401ea2a6c | 306:9dbeb88006e9 |
---|---|
1 package de.intevation.artifacts.common.utils; | |
2 | |
3 import java.util.Map; | |
4 import java.util.LinkedHashMap; | |
5 | |
6 public class LRUCache<K, V> | |
7 extends LinkedHashMap<K, V> | |
8 { | |
9 public static final int DEFAULT_MAX_CAPACITY = 25; | |
10 | |
11 private int maxCapacity; | |
12 | |
13 public LRUCache() { | |
14 this(DEFAULT_MAX_CAPACITY); | |
15 } | |
16 | |
17 public LRUCache(int maxCapacity) { | |
18 this.maxCapacity = maxCapacity; | |
19 } | |
20 | |
21 @Override | |
22 protected boolean removeEldestEntry(Map.Entry<K, V> eldest) { | |
23 return size() > maxCapacity; | |
24 } | |
25 } | |
26 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |