project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/util/ObservableTreeMap.java
changeset 10017 de822cd3df3a
parent 7584 7831c84cc644
equal deleted inserted replaced
10015:4feced261c68 10017:de822cd3df3a
    24 import java.util.TreeMap;
    24 import java.util.TreeMap;
    25 
    25 
    26 import android.database.DataSetObservable;
    26 import android.database.DataSetObservable;
    27 
    27 
    28 public class ObservableTreeMap<K,V> extends DataSetObservable {
    28 public class ObservableTreeMap<K,V> extends DataSetObservable {
    29 	private final Map<K, V> map = new TreeMap<K, V>();
    29     private final Map<K, V> map = new TreeMap<K, V>();
    30 	
    30 
    31 	public void replaceContent(Map<? extends K, ? extends V> newMap) {
    31     public void replaceContent(Map<? extends K, ? extends V> newMap) {
    32 		map.clear();
    32         map.clear();
    33 		map.putAll(newMap);
    33         map.putAll(newMap);
    34 		notifyChanged();
    34         notifyChanged();
    35 	}
    35     }
    36 	
    36 
    37 	public void put(K key, V value) {
    37     public void put(K key, V value) {
    38 		map.put(key, value);
    38         map.put(key, value);
    39 		notifyChanged();
    39         notifyChanged();
    40 	}
    40     }
    41 	
    41 
    42 	public V get(K key) {
    42     public V get(K key) {
    43 		return map.get(key);
    43         return map.get(key);
    44 	}
    44     }
    45 	
    45 
    46 	public void remove(K key) {
    46     public void remove(K key) {
    47 		if(map.remove(key) != null) {
    47         if(map.remove(key) != null) {
    48 			notifyChanged();
    48             notifyChanged();
    49 		}
    49         }
    50 	}
    50     }
    51 	
    51 
    52 	public void clear() {
    52     public void clear() {
    53 		if(!map.isEmpty()) {
    53         if(!map.isEmpty()) {
    54 			map.clear();
    54             map.clear();
    55 			notifyChanged();
    55             notifyChanged();
    56 		}
    56         }
    57 	}
    57     }
    58 	
    58 
    59 	public Map<K, V> getMap() {
    59     public Map<K, V> getMap() {
    60 		return Collections.unmodifiableMap(map);
    60         return Collections.unmodifiableMap(map);
    61 	}
    61     }
    62 }
    62 }