package com.mossle.simulator.jcache;
import java.net.URI;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import javax.cache.Cache;
import javax.cache.CacheManager;
import javax.cache.configuration.Configuration;
import javax.cache.spi.CachingProvider;
public class DefaultCacheManager implements CacheManager {
private CachingProvider cachingProvider;
private Map<String, Cache> cacheMap = new HashMap<String, Cache>();
public DefaultCacheManager(CachingProvider cachingProvider) {
this.cachingProvider = cachingProvider;
}
public CachingProvider getCachingProvider() {
return cachingProvider;
}
public URI getURI() {
return null;
}
public ClassLoader getClassLoader() {
return null;
}
public Properties getProperties() {
return null;
}
public <K, V, C extends Configuration<K, V>> Cache<K, V> createCache(
String cacheName, C configuration) throws IllegalArgumentException {
Cache cache = new DefaultCache(cacheName, this);
cacheMap.put(cacheName, cache);
return cache;
}
public <K, V> Cache<K, V> getCache(String cacheName, Class<K> keyType,
Class<V> valueType) {
Cache<K, V> cache = (Cache<K, V>) cacheMap.get(cacheName);
if (cache != null) {
return cache;
}
return this.createCache(cacheName, (Configuration<K, V>) null);
}
public <K, V> Cache<K, V> getCache(String cacheName) {
return this.getCache(cacheName, null, null);
}
public Iterable<String> getCacheNames() {
return cacheMap.keySet();
}
public void destroyCache(String cacheName) {
}
public void enableManagement(String cacheName, boolean enabled) {
}
public void enableStatistics(String cacheName, boolean enabled) {
}
public void close() {
}
public boolean isClosed() {
return false;
}
public <T> T unwrap(Class<T> clazz) {
return null;
}
}