]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/dbObjects/ObjectCache.java
There is a test case that needs cache punging.
[gigi.git] / src / org / cacert / gigi / dbObjects / ObjectCache.java
index 5f44542200458467c535b959266dde527e4a098b..e06f84f84a57fd0fde3bafe5d8066b9d6efc08d0 100644 (file)
@@ -2,11 +2,18 @@ package org.cacert.gigi.dbObjects;
 
 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));
     }
@@ -18,4 +25,10 @@ public class ObjectCache<T extends IdCachable> {
         }
         return null;
     }
+
+    public static void clearAllCashes() {
+        for (ObjectCache<?> objectCache : caches) {
+            objectCache.hashmap.clear();
+        }
+    }
 }