KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > shiftone > cache > adaptor > OroCache


1 package org.shiftone.cache.adaptor;
2
3
4
5 import org.shiftone.cache.Cache;
6
7
8 /**
9  * Makes a ORO cache look like a shiftone cache.
10  * <p>
11  * <b>Notes</b>
12  * <li>No support for remove
13  * <li>No support for clear
14  * <li>No support for node expiration
15  * <li>Cache initially allocates array of size "capacity"
16  *
17  * @version $Revision: 1.5 $
18  * @author <a HREF="mailto:jeff@shiftone.org">Jeff Drost</a>
19  */

20 public class OroCache implements Cache
21 {
22
23     private final org.apache.oro.util.Cache cache;
24
25     public static Cache createFIFO(int capacity)
26     {
27         return new OroCache(new org.apache.oro.util.CacheFIFO(capacity));
28     }
29
30
31     public static Cache createFIFO2(int capacity)
32     {
33         return new OroCache(new org.apache.oro.util.CacheFIFO2(capacity));
34     }
35
36
37     public static Cache createLRU(int capacity)
38     {
39         return new OroCache(new org.apache.oro.util.CacheLRU(capacity));
40     }
41
42
43     public static Cache createRandom(int capacity)
44     {
45         return new OroCache(new org.apache.oro.util.CacheRandom(capacity));
46     }
47
48
49     public OroCache(org.apache.oro.util.Cache cache)
50     {
51         this.cache = cache;
52     }
53
54
55     public void addObject(Object JavaDoc userKey, Object JavaDoc cacheObject)
56     {
57         cache.addElement(userKey, cacheObject);
58     }
59
60
61     public Object JavaDoc getObject(Object JavaDoc key)
62     {
63         return cache.getElement(key);
64     }
65
66
67     public int size()
68     {
69         return cache.size();
70     }
71
72
73     /**
74      * NOOP
75      */

76     public void remove(Object JavaDoc key) {}
77
78
79     /**
80      * NOOP
81      */

82     public void clear() {}
83
84
85     public String JavaDoc toString()
86     {
87         return "OroCache[" + cache.getClass().getName() + ":" + cache.capacity() + "]";
88     }
89 }
90
Popular Tags