X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FdbObjects%2FObjectCache.java;h=125477defc5fd26e33bff9d51153d9617c06a15b;hb=95e35b7de5b5bff3162c84f3c8c581cc08283c07;hp=e06f84f84a57fd0fde3bafe5d8066b9d6efc08d0;hpb=8989aa1f0dca5ed1b6ef8ba5f786f5192f8bf950;p=gigi.git diff --git a/src/org/cacert/gigi/dbObjects/ObjectCache.java b/src/org/cacert/gigi/dbObjects/ObjectCache.java index e06f84f8..125477de 100644 --- a/src/org/cacert/gigi/dbObjects/ObjectCache.java +++ b/src/org/cacert/gigi/dbObjects/ObjectCache.java @@ -6,16 +6,17 @@ import java.util.HashSet; public class ObjectCache { - HashMap> hashmap = new HashMap<>(); + private final HashMap> hashmap = new HashMap<>(); - private static HashSet> caches = new HashSet<>(); + private static final HashSet> caches = new HashSet<>(); protected ObjectCache() { caches.add(this); } - public void put(T c) { + public T put(T c) { hashmap.put(c.getId(), new WeakReference(c)); + return c; } public T get(int id) { @@ -26,9 +27,13 @@ public class ObjectCache { return null; } - public static void clearAllCashes() { - for (ObjectCache objectCache : caches) { + public static void clearAllCaches() { + for (ObjectCache objectCache : caches) { objectCache.hashmap.clear(); } } + + public void remove(T toRm) { + hashmap.remove(toRm.getId()); + } }