Methods Summary |
---|
private void | cleanup()
Set keySet = map.keySet();
// Avoid ConcurrentModificationExceptions
String[] keys = new String[keySet.size()];
int i = 0;
for (Iterator iter = keySet.iterator(); iter.hasNext(); ) {
String key = (String) iter.next();
keys[i++] = key;
}
for (int j = 0; j < keys.length; j++) {
entryFor(keys[j]);
}
queryCount = 0;
|
synchronized void | clear()
map.clear();
|
private java.io.ExpiringCache$Entry | entryFor(java.lang.String key)
Entry entry = (Entry) map.get(key);
if (entry != null) {
long delta = System.currentTimeMillis() - entry.timestamp();
if (delta < 0 || delta >= millisUntilExpiration) {
map.remove(key);
entry = null;
}
}
return entry;
|
synchronized java.lang.String | get(java.lang.String key)
if (++queryCount >= queryOverflow) {
cleanup();
}
Entry entry = entryFor(key);
if (entry != null) {
return entry.val();
}
return null;
|
synchronized void | put(java.lang.String key, java.lang.String val)
if (++queryCount >= queryOverflow) {
cleanup();
}
Entry entry = entryFor(key);
if (entry != null) {
entry.setTimestamp(System.currentTimeMillis());
entry.setVal(val);
} else {
map.put(key, new Entry(System.currentTimeMillis(), val));
}
|