Subversion Repositories SmartDukaan

Rev

Rev 3268 | Rev 3561 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3242 vikas 1
package in.shop2020.serving.cache;
3050 vikas 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";
3242 vikas 11
    public static final String CATEGORY_SNIPPET_CACHE_NAME = "CategorySnippets";
3273 vikas 12
    public static final String SEARCH_SNIPPET_CACHE_NAME = "SearchSnippets";
3242 vikas 13
 
3050 vikas 14
    private final String cacheName;
15
    private final CacheManager cacheManager;
16
 
17
    public EhcacheWrapper(final String cacheName, final CacheManager cacheManager)
18
    {
19
        this.cacheName = cacheName;
20
        this.cacheManager = cacheManager;
21
    }
22
 
23
    public void put(final K key, final V value)
24
    {
25
        getCache().put(new Element(key, value));
26
    }
27
 
3268 chandransh 28
    @SuppressWarnings("unchecked")
3050 vikas 29
    public V get(final K key) 
30
    {
31
        Element element = getCache().get(key);
32
        if (element != null) {
33
            return (V) element.getObjectValue();
34
        }
35
        return null;
36
    }
37
 
38
    public void removeAll() 
39
    {
40
        getCache().removeAll();
41
    }
42
 
43
    public void remove(final K key) 
44
    {
45
        getCache().remove(key);
46
    }
47
 
48
    public Ehcache getCache() 
49
    {
50
        return cacheManager.getEhcache(cacheName);
51
    }
52
}