164 public Set<String> keySet() {
165 return values.keySet();
166 }
167
168 public int size() {
169 return values.size();
170 }
171
172 // light-weight notification mechanism
173
174 private List<Runnable> listeners = List.nil();
175
176 public void addListener(Runnable listener) {
177 listeners = listeners.prepend(listener);
178 }
179
180 public void notifyListeners() {
181 for (Runnable r: listeners)
182 r.run();
183 }
184 }
|
164 public Set<String> keySet() {
165 return values.keySet();
166 }
167
168 public int size() {
169 return values.size();
170 }
171
172 // light-weight notification mechanism
173
174 private List<Runnable> listeners = List.nil();
175
176 public void addListener(Runnable listener) {
177 listeners = listeners.prepend(listener);
178 }
179
180 public void notifyListeners() {
181 for (Runnable r: listeners)
182 r.run();
183 }
184
185 public void clear() {
186 values.clear();
187 listeners = List.nil();
188 }
189 }
|