Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
9103 anupam.sin 1
package in.shop2020.serving.cache;
2
import net.sf.ehcache.CacheManager;
3
import net.sf.ehcache.Ehcache;
4
import net.sf.ehcache.Element;
5
 
6
public class EhcacheWrapper<K, V> 
7
{
8
    public static final String HOME_PAGE_SNIPPET_CACHE_NAME = "HomePageSnippets";
9
    public static final String SHOWCASE_PAGE_SNIPPET_CACHE_NAME = "ShowcasePageSnippets";
10
    public static final String PRODUCT_PAGE_SNIPPET_CACHE_NAME = "ProductPageSnippets";
11
    public static final String CATEGORY_SNIPPET_CACHE_NAME = "CategorySnippets";
12
    public static final String SEARCH_SNIPPET_CACHE_NAME = "SearchSnippets";
13
 
14
    public static enum CacheKeys{
15
    	HOME_PAGE_SNIPPET_CACHE_KEY,
16
    	SHOWCASE_PAGE_SNIPPET_CACHE_KEY,
17
    	PRODUCT_PAGE_SNIPPET_CACHE_KEY,
18
    	CATEGORY_SNIPPET_CACHE_KEY,
19
    	SEARCH_SNIPPET_CACHE_KEY
20
    }
21
 
22
    private final String cacheName;
23
    private final CacheManager cacheManager;
24
 
25
    public EhcacheWrapper(final String cacheName, final CacheManager cacheManager)
26
    {
27
        this.cacheName = cacheName;
28
        this.cacheManager = cacheManager;
29
    }
30
 
31
    public void put(final K key, final V value)
32
    {
33
        getCache().put(new Element(key, value));
34
    }
35
 
36
    @SuppressWarnings("unchecked")
37
    public V get(final K key) 
38
    {
39
        Element element = getCache().get(key);
40
        if (element != null) {
41
            return (V) element.getObjectValue();
42
        }
43
        return null;
44
    }
45
 
46
    public void removeAll() 
47
    {
48
        getCache().removeAll();
49
    }
50
 
51
    public void remove(final K key) 
52
    {
53
        getCache().remove(key);
54
    }
55
 
56
    public Ehcache getCache() 
57
    {
58
        return cacheManager.getEhcache(cacheName);
59
    }
60
}