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 HashMap<Integer, WeakReference<T>> hashmap = new HashMap<>();
11 private static HashSet<ObjectCache<?>> caches = new HashSet<>();
13 protected ObjectCache() {
17 public void put(T c) {
18 hashmap.put(c.getId(), new WeakReference<T>(c));
21 public T get(int id) {
22 WeakReference<T> res = hashmap.get(id);
29 public static void clearAllCaches() {
30 for (ObjectCache<?> objectCache : caches) {
31 objectCache.hashmap.clear();