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";
3050 vikas 10
    private final String cacheName;
11
    private final CacheManager cacheManager;
12
 
13
    public EhcacheWrapper(final String cacheName, final CacheManager cacheManager)
14
    {
15
        this.cacheName = cacheName;
16
        this.cacheManager = cacheManager;
17
    }
18
 
19
    public void put(final K key, final V value)
20
    {
21
        getCache().put(new Element(key, value));
22
    }
23
 
24
    public V get(final K key) 
25
    {
26
        Element element = getCache().get(key);
27
        if (element != null) {
28
            return (V) element.getObjectValue();
29
        }
30
        return null;
31
    }
32
 
33
    public void removeAll() 
34
    {
35
        getCache().removeAll();
36
    }
37
 
38
    public void remove(final K key) 
39
    {
40
        getCache().remove(key);
41
    }
42
 
43
    public Ehcache getCache() 
44
    {
45
        return cacheManager.getEhcache(cacheName);
46
    }
47
}