1 package org.apache.turbine.services.cache;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import java.io.IOException;
20
21 import org.apache.turbine.services.TurbineServices;
22
23 /***
24 * This is a Facade class for GlobalCacheService.
25 *
26 * This class provides static methods that call related methods of the
27 * implementation of the GlobalCacheService used by the System, according to
28 * the settings in TurbineResources.
29 *
30 * @author <a href="mailto:sean@informage.net">Sean Legassick</a>
31 * @version $Id: TurbineGlobalCache.java 264148 2005-08-29 14:21:04Z henning $
32 */
33 public abstract class TurbineGlobalCache
34 {
35 /***
36 * Utility method for accessing the service
37 * implementation
38 *
39 * @return a GlobalCacheService implementation instance
40 */
41 protected static GlobalCacheService getService()
42 {
43 return (GlobalCacheService) TurbineServices
44 .getInstance().getService(GlobalCacheService.SERVICE_NAME);
45 }
46
47 /***
48 * Gets a cached object given its id (a String).
49 *
50 * @param id The String id for the object.
51 * @return A CachedObject.
52 * @exception ObjectExpiredException, if the object has expired in
53 * the cache.
54 */
55 public static CachedObject getObject(String id)
56 throws ObjectExpiredException
57 {
58 return getService().getObject(id);
59 }
60
61 /***
62 * Adds an object to the cache.
63 *
64 * @param id The String id for the object.
65 * @param o The object to add to the cache.
66 */
67 public static void addObject(String id,
68 CachedObject o)
69 {
70 getService().addObject(id, o);
71 }
72
73 /***
74 * Removes an object from the cache.
75 *
76 * @param id The String id for the object.
77 */
78 public static void removeObject(String id)
79 {
80 getService().removeObject(id);
81 }
82
83 /***
84 * Returns the current size of the cache.
85 * @return int representing current cache size in number of bytes
86 */
87 public static int getCacheSize()
88 throws IOException
89 {
90 return getService().getCacheSize();
91 }
92
93 /***
94 * Returns the number of objects in the cache.
95 * @return int The current number of objects in the cache.
96 */
97 public static int getNumberOfObjects()
98 {
99 return getService().getNumberOfObjects();
100 }
101 }