001 package railo.runtime.cache.eh; 002 003 import java.io.Serializable; 004 005 import net.sf.ehcache.CacheException; 006 import net.sf.ehcache.Ehcache; 007 import net.sf.ehcache.Element; 008 import railo.commons.io.cache.CacheEventListener; 009 010 011 public class EHCacheEventListener implements net.sf.ehcache.event.CacheEventListener,Serializable { 012 013 private static final long serialVersionUID = 5931737203770901097L; 014 015 private CacheEventListener listener; 016 017 public EHCacheEventListener(CacheEventListener listener) { 018 this.listener=listener; 019 } 020 021 022 /** 023 * @see net.sf.ehcache.event.CacheEventListener#notifyElementExpired(net.sf.ehcache.Ehcache, net.sf.ehcache.Element) 024 */ 025 public void notifyElementExpired(Ehcache cache, Element element) { 026 listener.onExpires(new EHCacheEntry(element)); 027 } 028 029 /** 030 * @see net.sf.ehcache.event.CacheEventListener#notifyElementPut(net.sf.ehcache.Ehcache, net.sf.ehcache.Element) 031 */ 032 public void notifyElementPut(Ehcache cache, Element element) throws CacheException { 033 listener.onPut(new EHCacheEntry(element)); 034 } 035 036 /** 037 * @see net.sf.ehcache.event.CacheEventListener#notifyElementRemoved(net.sf.ehcache.Ehcache, net.sf.ehcache.Element) 038 */ 039 public void notifyElementRemoved(Ehcache cache, Element element) throws CacheException { 040 listener.onRemove(new EHCacheEntry(element)); 041 } 042 043 044 045 @Override 046 public void dispose() { 047 // TODO Auto-generated method stub 048 049 } 050 051 @Override 052 public void notifyElementEvicted(Ehcache arg0, Element arg1) { 053 // TODO Auto-generated method stub 054 055 } 056 057 058 059 @Override 060 public void notifyElementUpdated(Ehcache cache, Element element) throws CacheException { 061 listener.onPut(new EHCacheEntry(element)); 062 } 063 064 @Override 065 public void notifyRemoveAll(Ehcache arg0) { 066 // TODO Auto-generated method stub 067 068 } 069 070 /* (non-Javadoc) 071 * @see java.lang.Object#clone() 072 */ 073 public Object clone(){ 074 return new EHCacheEventListener(listener.duplicate()); 075 } 076 }