Home | History | Annotate | Download | only in mdat
      1 package com.coremedia.iso.boxes.mdat;
      2 
      3 import java.util.Collection;
      4 import java.util.Collections;
      5 import java.util.Comparator;
      6 import java.util.HashSet;
      7 import java.util.Map;
      8 import java.util.Set;
      9 
     10 /**
     11  * A SortedSet that contains just one value.
     12  */
     13 public 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