|
|
@@ -8,20 +8,23 @@ import java.util.AbstractSet;
|
|
|
import java.util.Iterator;
|
|
|
import java.util.Map;
|
|
|
import java.util.Set;
|
|
|
-import java.util.function.Supplier;
|
|
|
|
|
|
public class ObservableMap<K,V> extends AMap<K,V> {
|
|
|
|
|
|
+ private final Map<K,V> src;
|
|
|
+
|
|
|
private final Map<K,V> map;
|
|
|
|
|
|
private final EventRouter router;
|
|
|
|
|
|
public ObservableMap(EventRouter router, Map<K, V> map) {
|
|
|
+ this.src = map;
|
|
|
this.map = map;
|
|
|
this.router = router;
|
|
|
}
|
|
|
|
|
|
- public ObservableMap(EventRouter router, Supplier<Map<K,V>> that, Map<K, V> map) {
|
|
|
+ protected ObservableMap(EventRouter router, Map<K,V> src, Map<K, V> map) {
|
|
|
+ this.src = map;
|
|
|
this.map = map;
|
|
|
this.router = router;
|
|
|
}
|
|
|
@@ -70,7 +73,7 @@ public class ObservableMap<K,V> extends AMap<K,V> {
|
|
|
public V remove(Object key) {
|
|
|
V prev = map.remove(key);
|
|
|
if(prev != null) {
|
|
|
- router.signalEvent(new MapEvent.Remove<>(map, (K)key, prev));
|
|
|
+ router.signalEvent(new MapEvent.Remove<>(src, (K)key, prev));
|
|
|
}
|
|
|
return prev;
|
|
|
}
|
|
|
@@ -78,13 +81,13 @@ public class ObservableMap<K,V> extends AMap<K,V> {
|
|
|
@Override
|
|
|
public void putAll(Map<? extends K, ? extends V> m) {
|
|
|
map.putAll(m);
|
|
|
- router.signalEvent(new MapEvent.PutAll<>(map, m));
|
|
|
+ router.signalEvent(new MapEvent.PutAll<>(src, m));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void clear() {
|
|
|
map.clear();
|
|
|
- router.signalEvent(new MapEvent.Clear<>(map));
|
|
|
+ router.signalEvent(new MapEvent.Clear<>(src));
|
|
|
}
|
|
|
|
|
|
@Override
|