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