org.unlaxer.util.FactoryBoundCache Maven / Gradle / Ivy
package org.unlaxer.util;
import java.util.Map;
import java.util.function.Function;
public class FactoryBoundCache{
Map valueByKey= new NullSafetyConcurrentHashMap();
Function factory;
public FactoryBoundCache(Function factory) {
super();
this.factory = factory;
}
public synchronized V get(K key){
// return valueByKey.computeIfAbsent(key, factory::apply);
V v = valueByKey.get(key);
if(v == null) {
v = factory.apply(key);
valueByKey.put(key, v);
}
return v;
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy