/* * @see org.alfresco.util.OneToManyBiMap#removeValue(V) */ public K removeValue(V value) { K key = inverse.remove(value); Set<V> values = map.get(key); values.remove(value); if (values.size() == 0) map.remove(key); return key; }
public Set<V> put(K key, Set<V> values) { map.put(key, values); for (V value : values) { inverse.put(value, key); } return null; }
public Set<V> remove(Object key) { Set<V> values = map.remove(key); for (V value : values) { inverse.remove(value); } return values; }
public void putAll(Map<? extends K, ? extends Set<V>> m) { map.putAll(m); for (Entry<? extends K, ? extends Set<V>> entry : m.entrySet()) { K key = entry.getKey(); for (V value : entry.getValue()) { inverse.put(value, key); } } }
public V putSingleValue(K key, V value) { inverse.put(value, key); return map.putSingleValue(key, value); }
public Set<K> keySet() { return map.keySet(); }
public boolean isEmpty() { return map.isEmpty(); }
public Set<V> get(Object key) { return map.get(key); }
public Set<Entry<K, V>> entries() { return map.entries(); }
public Set<Entry<K, Set<V>>> entrySet() { return map.entrySet(); }
public boolean containsValue(Object value) { return map.containsValue(value); }
public boolean containsKey(Object key) { return map.containsKey(key); }
public void clear() { map.clear(); inverse.clear(); }
public Collection<Set<V>> values() { return map.values(); }
public int size() { return map.size(); }
public void putAllSingleValues(Map<? extends K, ? extends V> m) { map.putAllSingleValues(m); for (Entry<? extends K, ? extends V> entry : m.entrySet()) { inverse.put(entry.getValue(), entry.getKey()); } }