package openmods.utils;
import com.google.common.collect.Maps;
import java.util.Map;
public abstract class CachedFactory<K, V> {
private final Map<K, V> cache = Maps.newHashMap();
public V getOrCreate(K key) {
V value = cache.get(key);
if (value == null) {
value = create(key);
cache.put(key, value);
}
return value;
}
public V remove(K key) {
return cache.remove(key);
}
protected abstract V create(K key);
}