KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > regis > cache > RemoteMapProxy


1 package org.sapia.regis.cache;
2
3 import java.io.Serializable JavaDoc;
4 import java.util.Collection JavaDoc;
5 import java.util.HashMap JavaDoc;
6 import java.util.Map JavaDoc;
7 import java.util.Set JavaDoc;
8
9 public class RemoteMapProxy implements Serializable JavaDoc, Map JavaDoc{
10   
11   Map JavaDoc _cache = new HashMap JavaDoc();
12   Map JavaDoc _remote;
13   
14   public RemoteMapProxy(Map JavaDoc delegate){
15     if(delegate instanceof RemoteMap){
16       _remote = delegate;
17     }
18     else{
19       _remote = new RemoteMap(delegate);
20     }
21   }
22
23   public void clear() {
24     _cache.clear();
25     _remote.clear();
26   }
27
28   public boolean containsKey(Object JavaDoc key) {
29     if(_cache.containsKey(key)){
30       return true;
31     }
32     else{
33       return _remote.containsKey(key);
34     }
35   }
36
37   public boolean containsValue(Object JavaDoc value) {
38     if(_cache.containsValue(value)){
39       return true;
40     }
41     else{
42       return _remote.containsValue(value);
43     }
44   }
45
46   public Set JavaDoc entrySet() {
47     return _remote.entrySet();
48   }
49
50   public Object JavaDoc get(Object JavaDoc key) {
51     Object JavaDoc o = _cache.get(key);
52     if(o == null) return _remote.get(key);
53     return o;
54   }
55
56   public boolean isEmpty() {
57     return _remote.isEmpty();
58   }
59
60   public Set JavaDoc keySet() {
61     return _remote.keySet();
62   }
63
64   public Object JavaDoc put(Object JavaDoc arg0, Object JavaDoc arg1) {
65     _cache.put(arg0, arg1);
66     return _remote.put(arg0, arg1);
67   }
68
69   public void putAll(Map JavaDoc arg0) {
70     _cache.putAll(arg0);
71     _remote.putAll(arg0);
72   }
73
74   public Object JavaDoc remove(Object JavaDoc key) {
75     _cache.remove(key);
76     return _remote.remove(key);
77   }
78
79   public int size() {
80     return _remote.size();
81   }
82
83   public Collection JavaDoc values() {
84     return _remote.values();
85   }
86
87 }
88
Popular Tags