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 static void clearAllCaches() {
- for (ObjectCache<?> objectCache : caches) {
+ for (ObjectCache<? extends IdCachable> objectCache : caches) {
objectCache.hashmap.clear();
}
}
+
+ public void remove(T toRm) {
+ hashmap.remove(toRm);
+ }
}