]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/dbObjects/ObjectCache.java
UPD: minor consistency cleanups
[gigi.git] / src / org / cacert / gigi / dbObjects / ObjectCache.java
index 1d239757fd0cb47b63140752cde16623c8e695ba..0d9fc14ba51b4f2d0e4005a3977367bdd3c66ff5 100644 (file)
@@ -6,16 +6,17 @@ import java.util.HashSet;
 
 public class ObjectCache<T extends IdCachable> {
 
-    private HashMap<Integer, WeakReference<T>> hashmap = new HashMap<>();
+    private final HashMap<Integer, WeakReference<T>> hashmap = new HashMap<>();
 
-    private static HashSet<ObjectCache<?>> caches = new HashSet<>();
+    private static final HashSet<ObjectCache<? extends IdCachable>> caches = new HashSet<>();
 
     protected ObjectCache() {
         caches.add(this);
     }
 
-    public void put(T c) {
+    public T put(T c) {
         hashmap.put(c.getId(), new WeakReference<T>(c));
+        return c;
     }
 
     public T get(int id) {
@@ -27,8 +28,12 @@ public class ObjectCache<T extends IdCachable> {
     }
 
     public static void clearAllCaches() {
-        for (ObjectCache<?> objectCache : caches) {
+        for (ObjectCache<? extends IdCachable> objectCache : caches) {
             objectCache.hashmap.clear();
         }
     }
+
+    public void remove(T toRm) {
+        hashmap.remove(toRm);
+    }
 }