Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
3050 vikas 1
package in.shop2020.serving.utils;
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
{
3112 vikas 8
    public static final String HOME_PAGE_SNIPPET_CACHE_NAME = "HomePageSnippets";
9
    public static final String SHOWCASE_PAGE_SNIPPET_CACHE_NAME = "ShowcasePageSnippets";
3225 vikas 10
    public static final String PRODUCT_PAGE_SNIPPET_CACHE_NAME = "ProductPageSnippets";
3050 vikas 11
    private final String cacheName;
12
    private final CacheManager cacheManager;
13
 
14
    public EhcacheWrapper(final String cacheName, final CacheManager cacheManager)
15
    {
16
        this.cacheName = cacheName;
17
        this.cacheManager = cacheManager;
18
    }
19
 
20
    public void put(final K key, final V value)
21
    {
22
        getCache().put(new Element(key, value));
23
    }
24
 
25
    public V get(final K key) 
26
    {
27
        Element element = getCache().get(key);
28
        if (element != null) {
29
            return (V) element.getObjectValue();
30
        }
31
        return null;
32
    }
33
 
34
    public void removeAll() 
35
    {
36
        getCache().removeAll();
37
    }
38
 
39
    public void remove(final K key) 
40
    {
41
        getCache().remove(key);
42
    }
43
 
44
    public Ehcache getCache() 
45
    {
46
        return cacheManager.getEhcache(cacheName);
47
    }
48
}