package com.coremedia.iso.boxes.mdat;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
/**
* A SortedSet that contains just one value.
*/
public class DummyMap<K, V> implements Map<K, V> {
HashSet<K> keys = new HashSet<K>();
V value;
public DummyMap(V value) {
this.value = value;
}
public Comparator<? super K> comparator() {
return null; // I don't have any
}
public void addKeys(K[] keys) {
Collections.addAll(this.keys, keys);
}
public int size() {
return keys.size();
}
public boolean isEmpty() {
return keys.isEmpty();
}
public boolean containsKey(Object key) {
return keys.contains(key);
}
public boolean containsValue(Object value) {
return this.value == value;
}
public V get(Object key) {
return keys.contains(key) ? value : null;
}
public V put(K key, V value) {
assert this.value == value;
keys.add(key);
return this.value;
}
public V remove(Object key) {
V v = get(key);
keys.remove(key);
return v;
}
public void putAll(Map<? extends K, ? extends V> m) {
for (K k : m.keySet()) {
assert m.get(k) == value;
this.keys.add(k);
}
}
public void clear() {
keys.clear();
}
public Set<K> keySet() {
return keys;
}
public Collection<V> values() {
throw new UnsupportedOperationException();
}
public Set<Entry<K, V>> entrySet() {
throw new UnsupportedOperationException();
}
}
|