01: package org.shiftone.cache.decorator.tandem;
02:
03: import org.shiftone.cache.util.Log;
04: import org.shiftone.cache.Cache;
05:
06: /**
07: * Overides getObject to ALWAYSE delegate all gets to all caches.
08: * This ensures that any stats that are kept by the caches are in sync.
09: * @version $Revision: 1.1 $
10: * @author $Author: jeffdrost $
11: */
12: public class TandemAllGetsCache extends TandemCache {
13:
14: private static final Log LOG = new Log(TandemAllGetsCache.class);
15:
16: public TandemAllGetsCache(Cache[] caches) {
17: super (caches);
18: }
19:
20: public Object getObject(Object key) {
21:
22: Object result = null;
23: Object object = null;
24:
25: for (int i = 0; i < caches.length; i++) {
26: object = caches[i].getObject(key);
27:
28: if (object != null) {
29: result = object;
30: }
31: }
32:
33: return result;
34: }
35: }
|