01: package javax.cache.spi;
02:
03: import java.util.Collection;
04: import java.util.Map;
05:
06: /**
07: * A CacheSore is an extension to a CacheLoader that is used by a cache to
08: * submit cache modifications back to the source of the data.
09: *
10: * @author cp 2003.05.29
11: */
12: public interface CacheStore<K, V> extends CacheLoader<K, V> {
13: /**
14: * Store the specified value under the specified key in the underlying
15: * store. This method is intended to support both key/value creation
16: * and value update for a specific key.
17: *
18: * @param oKey key to store the value under
19: * @param oValue value to be stored
20: * @throws CacheStoreException the CacheStore wrap an exception that
21: * occurs when storing data, such as an exception from the data
22: * source, as a CacheStoreException to report the failure back
23: * to the calling cache
24: * @throws UnsupportedOperationException if this implementation or the
25: * underlying store is read-only
26: */
27: public void store(K oKey, V oValue) throws CacheStoreException;
28:
29: /**
30: * Store the specified values under the specified keys in the underlying
31: * store. This method is intended to support both key/value creation
32: * and value update for the specified keys.
33: *
34: * @param mapEntries a Map of any number of keys and values to store
35: * @throws CacheStoreException the CacheStore wrap an exception that
36: * occurs when storing data, such as an exception from the data
37: * source, as a CacheStoreException to report the failure back
38: * to the calling cache
39: * @throws UnsupportedOperationException if this implementation or the
40: * underlying store is read-only
41: */
42: public void storeAll(Map<? extends K, ? extends V> mapEntries)
43: throws CacheStoreException;
44:
45: /**
46: * Remove the specified key from the underlying store if present.
47: *
48: * @param oKey key whose mapping is being removed from the cache
49: * @throws CacheStoreException the CacheStore wrap an exception that
50: * occurs when erasing data, such as an exception from the data
51: * source, as a CacheStoreException to report the failure back
52: * to the calling cache
53: * @throws UnsupportedOperationException if this implementation or the
54: * underlying store is read-only or does not support the erase
55: * operation
56: */
57: public void erase(K oKey) throws CacheStoreException;
58:
59: /**
60: * Remove the specified keys from the underlying store if present.
61: *
62: * @param colKeys keys whose mappings are being removed from the cache
63: * @throws CacheStoreException the CacheStore wrap an exception that
64: * occurs when erasing data, such as an exception from the data
65: * source, as a CacheStoreException to report the failure back
66: * to the calling cache
67: * @throws UnsupportedOperationException if this implementation or the
68: * underlying store is read-only or does not support the erase
69: * operation
70: */
71: public void eraseAll(Collection<? extends K> colKeys)
72: throws CacheStoreException;
73: }
|