comparison org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/map/WritableMap.d @ 85:6be48cf9f95c

Work on databinding
author Frank Benoit <benoit@tionex.de>
date Sat, 18 Apr 2009 13:54:50 +0200
parents 383ce7bd736b
children
comparison
equal deleted inserted replaced
84:fcf926c91ca4 85:6be48cf9f95c
60 */ 60 */
61 public Object put(Object key, Object value) { 61 public Object put(Object key, Object value) {
62 checkRealm(); 62 checkRealm();
63 Object result = wrappedMap.put(key, value); 63 Object result = wrappedMap.put(key, value);
64 if (!Util.equals(result, value)) { 64 if (!Util.equals(result, value)) {
65 if (resultisnull) { 65 if (result is null) {
66 fireMapChange(Diffs.createMapDiffSingleAdd(key, value)); 66 fireMapChange(Diffs.createMapDiffSingleAdd(key, value));
67 } else { 67 } else {
68 fireMapChange(Diffs.createMapDiffSingleChange(key, result, 68 fireMapChange(Diffs.createMapDiffSingleChange(key, result,
69 value)); 69 value));
70 } 70 }
104 Set addedKeys = new HashSet(map.size()); 104 Set addedKeys = new HashSet(map.size());
105 Map changes = new HashMap(map.size()); 105 Map changes = new HashMap(map.size());
106 for (Iterator it = map.entrySet().iterator(); it.hasNext();) { 106 for (Iterator it = map.entrySet().iterator(); it.hasNext();) {
107 Map.Entry entry = cast(Entry) it.next(); 107 Map.Entry entry = cast(Entry) it.next();
108 Object previousValue = wrappedMap.put(entry.getKey(), entry.getValue()); 108 Object previousValue = wrappedMap.put(entry.getKey(), entry.getValue());
109 if (previousValueisnull) { 109 if (previousValue is null) {
110 addedKeys.add(entry.getKey()); 110 addedKeys.add(entry.getKey());
111 } else { 111 } else {
112 changes.put(entry.getKey(), previousValue); 112 changes.put(entry.getKey(), previousValue);
113 } 113 }
114 } 114 }