Clover coverage report - Coverage timestamp: Sa Jul 7 2007 09:11:40 CEST FRAMES NO FRAMES |
file stats: | LOC: | 96 |  | Methods: | 0
| NCLOC: | 15 |  | Classes: | 1
Source file | Conditionals | Statements | Methods | TOTAL
PersistenceListener.java | - | - | - | - |

1 |  | /*
2 |  | * Copyright (c) 2002-2003 by OpenSymphony
3 |  | * All rights reserved.
4 |  | */
5 |  | package com.opensymphony.oscache.base.persistence;
6 |  |
7 |  | import com.opensymphony.oscache.base.Config;
8 |  |
9 |  | import java.util.Set;
10 |  |
11 |  | /**
12 |  | * Defines the methods that are required to persist cache data.
13 |  | * To provide a custom persistence mechanism you should implement this
14 |  | * interface and supply the fully-qualified classname to the cache via
15 |  | * the <code>cache.persistence.class</code> configuration property.
16 |  | *
17 |  | * @version $Revision: 254 $
18 |  | * @author <a href="mailto:fbeauregard@pyxis-tech.com">Francois Beauregard</a>
19 |  | */
20 |  | public interface PersistenceListener {
21 |  | /**
22 |  | * Verify if an object is currently stored in the persistent cache.
23 |  | *
24 |  | * @param key The cache key of the object to check.
25 |  | */
26 |  | public boolean isStored(String key) throws CachePersistenceException;
27 |  |
28 |  | /**
29 |  | * Verify if a group is currently stored in the persistent cache.
30 |  | *
31 |  | * @param groupName The name of the group to check.
32 |  | */
33 |  | public boolean isGroupStored(String groupName) throws CachePersistenceException;
34 |  |
35 |  | /**
36 |  | * Clear the entire persistent cache (including the root)
37 |  | */
38 |  | public void clear() throws CachePersistenceException;
39 |  |
40 |  | /**
41 |  | * Allow the persistence code to initialize itself based on the supplied
42 |  | * cache configuration.
43 |  | */
44 |  | public PersistenceListener configure(Config config);
45 |  |
46 |  | /**
47 |  | * Removes an object from the persistent cache
48 |  | */
49 |  | public void remove(String key) throws CachePersistenceException;
50 |  |
51 |  | /**
52 |  | * Removes a group from the persistent cache.
53 |  | *
54 |  | * @param groupName The name of the cache group to remove.
55 |  | */
56 |  | public void removeGroup(String groupName) throws CachePersistenceException;
57 |  |
58 |  | /**
59 |  | * Retrieves an object from the persistent cache.
60 |  | *
61 |  | * @param key The unique cache key that maps to the object
62 |  | * being retrieved.
63 |  | * @return The object, or <code>null</code> if no object was found
64 |  | * matching the supplied key.
65 |  | */
66 |  | public Object retrieve(String key) throws CachePersistenceException;
67 |  |
68 |  | /**
69 |  | * Stores an object in the persistent cache.
70 |  | *
71 |  | * @param key The key to uniquely identify this object.
72 |  | * @param obj The object to persist. Most implementations
73 |  | * of this interface will require this object implements
74 |  | * <code>Serializable</code>.
75 |  | */
76 |  | public void store(String key, Object obj) throws CachePersistenceException;
77 |  |
78 |  | /**
79 |  | * Stores a group in the persistent cache.
80 |  | *
81 |  | * @param groupName The name of the group to persist.
82 |  | * @param group A set containing the keys of all the <code>CacheEntry</code>
83 |  | * objects that belong to this group.
84 |  | */
85 |  | public void storeGroup(String groupName, Set group) throws CachePersistenceException;
86 |  |
87 |  | /**
88 |  | * Retrieves a group from the persistent cache.
89 |  | *
90 |  | * @param groupName The name of the group to retrieve.
91 |  | * @return The returned set should contain the keys
92 |  | * of all the <code>CacheEntry</code> objects that belong
93 |  | * to this group.
94 |  | */
95 |  | Set retrieveGroup(String groupName) throws CachePersistenceException;
96 |  | }