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 @Override 023 public void notifyElementExpired(Ehcache cache, Element element) { 024 listener.onExpires(new EHCacheEntry(element)); 025 } 026 027 @Override 028 public void notifyElementPut(Ehcache cache, Element element) throws CacheException { 029 listener.onPut(new EHCacheEntry(element)); 030 } 031 032 @Override 033 public void notifyElementRemoved(Ehcache cache, Element element) throws CacheException { 034 listener.onRemove(new EHCacheEntry(element)); 035 } 036 037 038 039 @Override 040 public void dispose() { 041 // TODO Auto-generated method stub 042 043 } 044 045 @Override 046 public void notifyElementEvicted(Ehcache arg0, Element arg1) { 047 // TODO Auto-generated method stub 048 049 } 050 051 052 053 @Override 054 public void notifyElementUpdated(Ehcache cache, Element element) throws CacheException { 055 listener.onPut(new EHCacheEntry(element)); 056 } 057 058 @Override 059 public void notifyRemoveAll(Ehcache arg0) { 060 // TODO Auto-generated method stub 061 062 } 063 064 @Override 065 public Object clone(){ 066 return new EHCacheEventListener(listener.duplicate()); 067 } 068 }