project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/ObservableTreeMap.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/ObservableTreeMap.java Mon Aug 06 22:39:36 2012 +0200
@@ -0,0 +1,43 @@
+package org.hedgewars.hedgeroid.netplay;
+
+import java.util.Collections;
+import java.util.Map;
+import java.util.TreeMap;
+
+import android.database.DataSetObservable;
+
+public class ObservableTreeMap<K,V> extends DataSetObservable {
+ private final Map<K, V> map = new TreeMap<K, V>();
+
+ public void replaceContent(Map<? extends K, ? extends V> newMap) {
+ map.clear();
+ map.putAll(newMap);
+ notifyChanged();
+ }
+
+ public void put(K key, V value) {
+ map.put(key, value);
+ notifyChanged();
+ }
+
+ public V get(K key) {
+ return map.get(key);
+ }
+
+ public void remove(K key) {
+ if(map.remove(key) != null) {
+ notifyChanged();
+ }
+ }
+
+ public void clear() {
+ if(!map.isEmpty()) {
+ map.clear();
+ notifyChanged();
+ }
+ }
+
+ public Map<K, V> getMap() {
+ return Collections.unmodifiableMap(map);
+ }
+}