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