Subversion Repositories SmartDukaan

Rev

Rev 11872 | 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";
11872 amit.gupta 10
    public static final String PRIVATE_DEAL_PAGE_SNIPPET_CACHE_NAME = "PrivateDealPageSnippets";
3225 vikas 11
    public static final String PRODUCT_PAGE_SNIPPET_CACHE_NAME = "ProductPageSnippets";
3242 vikas 12
    public static final String CATEGORY_SNIPPET_CACHE_NAME = "CategorySnippets";
3273 vikas 13
    public static final String SEARCH_SNIPPET_CACHE_NAME = "SearchSnippets";
10232 kshitij.so 14
    public static final String BANNER_CACHE_NAME ="BannerCache";
12132 amit.gupta 15
    public static final String PRIVATE_DEAL_SNIPPET ="PrivateDealSnippets";
3242 vikas 16
 
3561 rajveer 17
    public static enum CacheKeys{
18
    	HOME_PAGE_SNIPPET_CACHE_KEY,
19
    	SHOWCASE_PAGE_SNIPPET_CACHE_KEY,
20
    	PRODUCT_PAGE_SNIPPET_CACHE_KEY,
21
    	CATEGORY_SNIPPET_CACHE_KEY,
10232 kshitij.so 22
    	SEARCH_SNIPPET_CACHE_KEY,
12132 amit.gupta 23
    	BANNER_CACHE_KEY,
24
    	PRIVATE_DEAL_SNIPPET_KEY
3561 rajveer 25
    }
26
 
3050 vikas 27
    private final String cacheName;
28
    private final CacheManager cacheManager;
29
 
30
    public EhcacheWrapper(final String cacheName, final CacheManager cacheManager)
31
    {
32
        this.cacheName = cacheName;
33
        this.cacheManager = cacheManager;
34
    }
35
 
36
    public void put(final K key, final V value)
37
    {
38
        getCache().put(new Element(key, value));
39
    }
40
 
3268 chandransh 41
    @SuppressWarnings("unchecked")
3050 vikas 42
    public V get(final K key) 
43
    {
44
        Element element = getCache().get(key);
45
        if (element != null) {
46
            return (V) element.getObjectValue();
47
        }
48
        return null;
49
    }
50
 
51
    public void removeAll() 
52
    {
53
        getCache().removeAll();
54
    }
55
 
56
    public void remove(final K key) 
57
    {
58
        getCache().remove(key);
59
    }
60
 
61
    public Ehcache getCache() 
62
    {
63
        return cacheManager.getEhcache(cacheName);
64
    }
65
}