blob: c59916c8b761da88c6e019c369dd942ce5c8352a [file] [log] [blame]
package com.ibm.icu.impl;
import java.lang.ref.SoftReference;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class SimpleCache implements ICUCache {
public Object get(Object key) {
SoftReference ref = cacheRef;
if (ref != null) {
Map map = (Map)ref.get();
if (map != null) {
return map.get(key);
}
}
return null;
}
public void put(Object key, Object value) {
SoftReference ref = cacheRef;
Map map = null;
if (ref != null) {
map = (Map)ref.get();
}
if (map == null) {
map = Collections.synchronizedMap(new HashMap());
ref = new SoftReference(map);
cacheRef = ref;
}
map.put(key, value);
}
public void clear() {
cacheRef = null;
}
private SoftReference cacheRef = null;
}