001 package org.picocontainer.web.caching;
002
003 import javax.cache.CacheException;
004 import java.util.Map;
005 import java.util.HashMap;
006
007 import org.picocontainer.web.caching.JCacheProvider;
008 import org.picocontainer.web.Cache;
009
010 public class FallbackCacheProvider extends JCacheProvider {
011
012 final Map fallBackImpl = new HashMap();
013
014 @Override
015 public Cache provide() throws CacheException {
016 try {
017 return super.provide();
018 } catch (NullPointerException e) {
019 return new Cache() {
020 public Object get(Object key) {
021 return fallBackImpl.get(key);
022 }
023
024 public void put(Object key, Object toCache) {
025 fallBackImpl.put(key, toCache);
026 }
027 };
028 }
029 }
030
031 }