DummyMap.java revision dd9eb897ee7c7b507cbdcf80263bb4b5de6966bf
1package com.coremedia.iso.boxes.mdat; 2 3import java.util.Collection; 4import java.util.Collections; 5import java.util.Comparator; 6import java.util.HashSet; 7import java.util.Map; 8import java.util.Set; 9 10/** 11 * A SortedSet that contains just one value. 12 */ 13public class DummyMap<K, V> implements Map<K, V> { 14 HashSet<K> keys = new HashSet<K>(); 15 V value; 16 17 public DummyMap(V value) { 18 this.value = value; 19 } 20 21 public Comparator<? super K> comparator() { 22 return null; // I don't have any 23 } 24 25 public void addKeys(K[] keys) { 26 Collections.addAll(this.keys, keys); 27 28 } 29 30 public int size() { 31 return keys.size(); 32 } 33 34 public boolean isEmpty() { 35 return keys.isEmpty(); 36 } 37 38 public boolean containsKey(Object key) { 39 return keys.contains(key); 40 } 41 42 public boolean containsValue(Object value) { 43 return this.value == value; 44 } 45 46 public V get(Object key) { 47 return keys.contains(key) ? value : null; 48 } 49 50 public V put(K key, V value) { 51 assert this.value == value; 52 keys.add(key); 53 return this.value; 54 } 55 56 public V remove(Object key) { 57 V v = get(key); 58 keys.remove(key); 59 return v; 60 } 61 62 public void putAll(Map<? extends K, ? extends V> m) { 63 for (K k : m.keySet()) { 64 assert m.get(k) == value; 65 this.keys.add(k); 66 } 67 } 68 69 public void clear() { 70 keys.clear(); 71 } 72 73 public Set<K> keySet() { 74 return keys; 75 } 76 77 public Collection<V> values() { 78 throw new UnsupportedOperationException(); 79 } 80 81 public Set<Entry<K, V>> entrySet() { 82 throw new UnsupportedOperationException(); 83 } 84} 85