Package org.eclipse.core.databinding.observable.map

Examples of org.eclipse.core.databinding.observable.map.MapDiff


   *            the new map
   * @since 1.3
   * @noreference This method is not intended to be referenced by clients.
   */
  protected void doSetMap(Object source, Map map) {
    MapDiff diff = Diffs.computeMapDiff(doGetMap(source), map);
    doUpdateMap(source, diff);
  }
View Full Code Here


    validationStatus.addValueChangeListener(validationStatusChangeListener);
  }

  private void updateWrappedMap(Map newMap) {
    Map oldMap = wrappedMap;
    MapDiff diff = Diffs.computeMapDiff(oldMap, newMap);
    wrappedMap = newMap;
    fireMapChange(diff);
  }
View Full Code Here

  public void clear() {
    checkRealm();
    if (isEmpty())
      return;
    MapDiff diff = Diffs.computeMapDiff(wrappedMap, Collections.EMPTY_MAP);
    wrappedMap = new HashMap();
    updateTargetMap(diff);
    fireMapChange(diff);
  }
View Full Code Here

    fireMapChange(diff);
  }

  public Object put(Object key, Object value) {
    checkRealm();
    MapDiff diff;
    Object oldValue;
    if (wrappedMap.containsKey(key)) {
      oldValue = wrappedMap.put(key, value);
      if (wrappedMap.containsKey(key)) { // Changed
        diff = Diffs.createMapDiffSingleChange(key, oldValue, value);
View Full Code Here

  public void putAll(Map m) {
    checkRealm();
    Map map = new HashMap(wrappedMap);
    map.putAll(m);
    MapDiff diff = Diffs.computeMapDiff(wrappedMap, map);
    wrappedMap = map;
    updateTargetMap(diff);
    fireMapChange(diff);
  }
View Full Code Here

  public Object remove(Object key) {
    checkRealm();
    if (!wrappedMap.containsKey(key))
      return null;
    Object oldValue = wrappedMap.remove(key);
    MapDiff diff = Diffs.createMapDiffSingleRemove(key, oldValue);
    updateTargetMap(diff);
    fireMapChange(diff);
    return oldValue;
  }
View Full Code Here

  private void markDirty() {
    // since we are dirty, we don't need to listen anymore
    removeElementChangeListener();
    final Map oldMap = wrappedMap;
    // lazy computation of diff
    MapDiff mapDiff = new MapDiff() {
      private MapDiff cachedDiff = null;

      private void ensureCached() {
        if (cachedDiff == null) {
          recompute();
View Full Code Here

   * @noreference This method is not intended to be referenced by clients.
   */
  protected abstract void doSetMap(Object source, Map map, MapDiff diff);

  protected void doSetMap(Object source, Map map) {
    MapDiff diff = Diffs.computeLazyMapDiff(doGetMap(source), map);
    doSetMap(source, map, diff);
  }
View Full Code Here

        MapDetailValueObservableMap.this.dispose();
      }
    });

    // Initialize the map with the current state of the master map.
    MapDiff initMasterDiff = Diffs.computeMapDiff(Collections.EMPTY_MAP,
        masterMap);
    handleMasterMapChange(initMasterDiff);
  }
View Full Code Here

    return keys;
  }

  private void fireMapChange(final Set changedKeys, final Object oldValue,
      final Object newValue) {
    fireMapChange(new MapDiff() {
      public Set getAddedKeys() {
        return Collections.EMPTY_SET;
      }

      public Set getRemovedKeys() {
View Full Code Here

TOP

Related Classes of org.eclipse.core.databinding.observable.map.MapDiff

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.