1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.services.portletcache;
18
19 import java.io.IOException;
20
21 import org.apache.turbine.services.TurbineServices;
22 import org.apache.turbine.services.cache.GlobalCacheService;
23 import org.apache.turbine.services.cache.CachedObject;
24 import org.apache.turbine.services.cache.ObjectExpiredException;
25
26
27 /***
28 * This class is a static wrapper around the Turbine GlobalCacheService
29 * which doesn't provide its own wrapper.
30 *
31 * @see org.apache.turbine.services.cache.GlobalCacheService
32 * @author <a href="mailto:raphael@apache.org">Raphaël Luta</a>
33 * @version $Id: GlobalCache.java,v 1.7 2004/02/23 03:34:54 jford Exp $
34 */
35 public class GlobalCache {
36
37 /***
38 * Add an object to the cache
39 *
40 * @param id key of the object used by the cache to store and retrieve
41 * it. Must not be null.
42 * @param o the object to cache
43 */
44 public static void addObject( String id, CachedObject o ) {
45
46 GlobalCacheService gcs = (GlobalCacheService)TurbineServices
47 .getInstance()
48 .getService( GlobalCacheService.SERVICE_NAME );
49
50 gcs.addObject( id, o );
51 }
52
53 /***
54 * Gets a cached object given its id (a String).
55 *
56 * @param id The String id for the object.
57 * @return A CachedObject.
58 * @exception ObjectExpiredException The object has expired in
59 * the cache.
60 */
61 public static CachedObject getObject(String id)
62 throws ObjectExpiredException {
63
64 GlobalCacheService gcs = (GlobalCacheService)TurbineServices
65 .getInstance()
66 .getService( GlobalCacheService.SERVICE_NAME );
67
68 return gcs.getObject( id );
69 }
70
71 /***
72 * Gets size, in bytes, of cache
73 *
74 * @return int Size, in byte, of cache
75 * @exception IOException Exception passed from
76 */
77 public static int getCacheSize()
78 throws IOException {
79 GlobalCacheService gcs = (GlobalCacheService)TurbineServices
80 .getInstance()
81 .getService( GlobalCacheService.SERVICE_NAME );
82
83 return gcs.getCacheSize();
84 }
85
86 /***
87 * Gets size, in bytes, of cache
88 *
89 * @return int, Size, in byte, of cache
90 */
91 public static int getNumberOfObjects() {
92 int tempInt = 0;
93 GlobalCacheService gcs = (GlobalCacheService)TurbineServices
94 .getInstance()
95 .getService( GlobalCacheService.SERVICE_NAME );
96
97 tempInt = gcs.getNumberOfObjects();
98 return tempInt;
99 }
100
101 /***
102 * Flush the cache of <B>ALL</B> objects
103 */
104 public void flushCache() {
105 GlobalCacheService gcs = (GlobalCacheService)TurbineServices
106 .getInstance()
107 .getService( GlobalCacheService.SERVICE_NAME );
108
109 gcs.flushCache();
110 }
111 }