package org.jtwig.property.selection.cache;
import com.google.common.base.Optional;
import org.jtwig.model.expression.Expression;
import org.jtwig.property.resolver.PropertyResolver;
import java.util.concurrent.ConcurrentHashMap;
public class SelectionPropertyResolverPersistentCache implements SelectionPropertyResolverCache {
private final ConcurrentHashMap<Expression, PropertyResolver> hashMap;
public SelectionPropertyResolverPersistentCache(ConcurrentHashMap<Expression, PropertyResolver> hashMap) {
this.hashMap = hashMap;
}
@Override
public Optional<PropertyResolver> getCachedResolver(Expression expression) {
return Optional.fromNullable(hashMap.get(expression));
}
@Override
public void cacheResolver(Expression expression, PropertyResolver propertyResolver) {
hashMap.put(expression, propertyResolver);
}
}