KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > shiftone > cache > decorator > miss > MissHandlingCacheFactory


1 package org.shiftone.cache.decorator.miss;
2
3
4
5 import org.shiftone.cache.Cache;
6 import org.shiftone.cache.CacheException;
7 import org.shiftone.cache.util.AbstractDecoratorCacheFactory;
8 import org.shiftone.cache.util.Log;
9
10
11 /**
12  * @version $Revision: 1.6 $
13  * @author <a HREF="mailto:jeff@shiftone.org">Jeff Drost</a>
14  */

15 public class MissHandlingCacheFactory extends AbstractDecoratorCacheFactory
16 {
17
18     private static final Log LOG = new Log(MissHandlingCacheFactory.class);
19     private Class JavaDoc missHandlerClass;
20
21     protected Cache wrapDelegate(String JavaDoc cacheName, Cache delegateCache) throws CacheException
22     {
23         return new MissHandlingCache(delegateCache, createMissHandler());
24     }
25
26
27     public Class JavaDoc getMissHandlerClass()
28     {
29         return missHandlerClass;
30     }
31
32
33     public void setMissHandlerClass(Class JavaDoc missHandlerClass)
34     {
35         this.missHandlerClass = missHandlerClass;
36     }
37
38
39     public MissHandler createMissHandler() throws CacheException
40     {
41
42         MissHandler missHandler;
43         Class JavaDoc klass = getMissHandlerClass();
44
45         try
46         {
47             missHandler = (MissHandler) klass.newInstance();
48         }
49         catch (Exception JavaDoc e)
50         {
51             throw new CacheException("unable to create new MissHandler instance", e);
52         }
53
54         return missHandler;
55     }
56
57
58     public String JavaDoc toString()
59     {
60         return "MissHandlingCacheFactory[" + missHandlerClass.getName() + "]->" + getDelegate();
61     }
62 }
63
Popular Tags