com.jayway.jsonpath.spi.cache.CacheProvider Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of json-path Show documentation
Show all versions of json-path Show documentation
Java port of Stefan Goessner JsonPath.
package com.jayway.jsonpath.spi.cache;
import com.jayway.jsonpath.JsonPathException;
import static com.jayway.jsonpath.internal.Utils.notNull;
public class CacheProvider {
private static Cache cache;
private static boolean cachingEnabled;
public static void setCache(Cache cache){
notNull(cache, "Cache may not be null");
synchronized (CacheProvider.class){
if(CacheProvider.cache != null){
throw new JsonPathException("Cache provider must be configured before cache is accessed.");
} else {
CacheProvider.cache = cache;
}
cachingEnabled = !(CacheProvider.cache instanceof NOOPCache);
}
}
public static Cache getCache() {
if(CacheProvider.cache == null){
synchronized (CacheProvider.class){
if(CacheProvider.cache == null){
CacheProvider.cache = getDefaultCache();
}
}
}
return CacheProvider.cache;
}
private static Cache getDefaultCache(){
return new LRUCache(400);
//return new NOOPCache();
}
}