1 package org.cacert.gigi.dbObjects;
3 import java.lang.ref.WeakReference;
4 import java.util.HashMap;
5 import java.util.HashSet;
7 public class ObjectCache<T extends IdCachable> {
9 private final HashMap<Integer, WeakReference<T>> hashmap = new HashMap<>();
11 private static final HashSet<ObjectCache<? extends IdCachable>> caches = new HashSet<>();
13 protected ObjectCache() {
18 hashmap.put(c.getId(), new WeakReference<T>(c));
22 public T get(int id) {
23 WeakReference<T> res = hashmap.get(id);
30 public static void clearAllCaches() {
31 for (ObjectCache<? extends IdCachable> objectCache : caches) {
32 objectCache.hashmap.clear();
36 public void remove(T toRm) {