import java.lang.ref.WeakReference;
import java.util.HashMap;
+import java.util.HashSet;
public class ObjectCache<T extends IdCachable> {
HashMap<Integer, WeakReference<T>> hashmap = new HashMap<>();
+ private static HashSet<ObjectCache<?>> caches = new HashSet<>();
+
+ protected ObjectCache() {
+ caches.add(this);
+ }
+
public void put(T c) {
hashmap.put(c.getId(), new WeakReference<T>(c));
}
}
return null;
}
+
+ public static void clearAllCashes() {
+ for (ObjectCache<?> objectCache : caches) {
+ objectCache.hashmap.clear();
+ }
+ }
}