project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/ObservableTreeMap.java
equal
deleted
inserted
replaced
1 package org.hedgewars.hedgeroid.netplay; |
|
2 |
|
3 import java.util.Collections; |
|
4 import java.util.Map; |
|
5 import java.util.TreeMap; |
|
6 |
|
7 import android.database.DataSetObservable; |
|
8 |
|
9 public class ObservableTreeMap<K,V> extends DataSetObservable { |
|
10 private final Map<K, V> map = new TreeMap<K, V>(); |
|
11 |
|
12 public void replaceContent(Map<? extends K, ? extends V> newMap) { |
|
13 map.clear(); |
|
14 map.putAll(newMap); |
|
15 notifyChanged(); |
|
16 } |
|
17 |
|
18 public void put(K key, V value) { |
|
19 map.put(key, value); |
|
20 notifyChanged(); |
|
21 } |
|
22 |
|
23 public V get(K key) { |
|
24 return map.get(key); |
|
25 } |
|
26 |
|
27 public void remove(K key) { |
|
28 if(map.remove(key) != null) { |
|
29 notifyChanged(); |
|
30 } |
|
31 } |
|
32 |
|
33 public void clear() { |
|
34 if(!map.isEmpty()) { |
|
35 map.clear(); |
|
36 notifyChanged(); |
|
37 } |
|
38 } |
|
39 |
|
40 public Map<K, V> getMap() { |
|
41 return Collections.unmodifiableMap(map); |
|
42 } |
|
43 } |
|