/** * */ package querqy.solr; import org.apache.solr.search.SolrCache; import querqy.lucene.rewrite.cache.CacheKey; import querqy.lucene.rewrite.cache.TermQueryCache; import querqy.lucene.rewrite.cache.TermQueryCacheValue; /** * @author rene * */ public class SolrTermQueryCacheAdapter implements TermQueryCache { final SolrCache<CacheKey, TermQueryCacheValue> delegate; final boolean ignoreUpdates; public SolrTermQueryCacheAdapter(boolean ignoreUpdates, SolrCache<CacheKey, TermQueryCacheValue> delegate) { if (delegate == null) { throw new IllegalArgumentException("Solr cache must not be null"); } this.delegate = delegate; this.ignoreUpdates = ignoreUpdates; } @Override public void put(CacheKey cacheKey, TermQueryCacheValue value) { if (!ignoreUpdates) { delegate.put(cacheKey, value); } } @Override public TermQueryCacheValue get(CacheKey cacheKey) { return delegate.get(cacheKey); } }