|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
package org.apache.commons.collections4.multimap; |
|
|
|
import java.util.Collection; |
|
import java.util.Map; |
|
import java.util.Map.Entry; |
|
import java.util.Set; |
|
|
|
import org.apache.commons.collections4.MapIterator; |
|
import org.apache.commons.collections4.MultiSet; |
|
import org.apache.commons.collections4.MultiValuedMap; |
|
import org.apache.commons.collections4.Unmodifiable; |
|
import org.apache.commons.collections4.collection.UnmodifiableCollection; |
|
import org.apache.commons.collections4.iterators.UnmodifiableMapIterator; |
|
import org.apache.commons.collections4.map.UnmodifiableMap; |
|
import org.apache.commons.collections4.multiset.UnmodifiableMultiSet; |
|
import org.apache.commons.collections4.set.UnmodifiableSet; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public final class UnmodifiableMultiValuedMap<K, V> |
|
extends AbstractMultiValuedMapDecorator<K, V> implements Unmodifiable { |
|
|
|
|
|
private static final long serialVersionUID = 20150612L; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
@SuppressWarnings("unchecked") |
|
public static <K, V> UnmodifiableMultiValuedMap<K, V> unmodifiableMultiValuedMap( |
|
final MultiValuedMap<? extends K, ? extends V> map) { |
|
if (map instanceof Unmodifiable) { |
|
return (UnmodifiableMultiValuedMap<K, V>) map; |
|
} |
|
return new UnmodifiableMultiValuedMap<>(map); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
@SuppressWarnings("unchecked") |
|
private UnmodifiableMultiValuedMap(final MultiValuedMap<? extends K, ? extends V> map) { |
|
super((MultiValuedMap<K, V>) map); |
|
} |
|
|
|
@Override |
|
public Collection<V> remove(final Object key) { |
|
throw new UnsupportedOperationException(); |
|
} |
|
|
|
@Override |
|
public boolean removeMapping(final Object key, final Object item) { |
|
throw new UnsupportedOperationException(); |
|
} |
|
|
|
@Override |
|
public void clear() { |
|
throw new UnsupportedOperationException(); |
|
} |
|
|
|
@Override |
|
public Collection<V> get(final K key) { |
|
return UnmodifiableCollection.unmodifiableCollection(decorated().get(key)); |
|
} |
|
|
|
@Override |
|
public boolean put(final K key, final V value) { |
|
throw new UnsupportedOperationException(); |
|
} |
|
|
|
@Override |
|
public Set<K> keySet() { |
|
return UnmodifiableSet.unmodifiableSet(decorated().keySet()); |
|
} |
|
|
|
@Override |
|
public Collection<Entry<K, V>> entries() { |
|
return UnmodifiableCollection.unmodifiableCollection(decorated().entries()); |
|
} |
|
|
|
@Override |
|
public MultiSet<K> keys() { |
|
return UnmodifiableMultiSet.unmodifiableMultiSet(decorated().keys()); |
|
} |
|
|
|
@Override |
|
public Collection<V> values() { |
|
return UnmodifiableCollection.unmodifiableCollection(decorated().values()); |
|
} |
|
|
|
@Override |
|
public Map<K, Collection<V>> asMap() { |
|
return UnmodifiableMap.unmodifiableMap(decorated().asMap()); |
|
} |
|
|
|
@Override |
|
public MapIterator<K, V> mapIterator() { |
|
return UnmodifiableMapIterator.unmodifiableMapIterator(decorated().mapIterator()); |
|
} |
|
|
|
@Override |
|
public boolean putAll(final K key, final Iterable<? extends V> values) { |
|
throw new UnsupportedOperationException(); |
|
} |
|
|
|
@Override |
|
public boolean putAll(final Map<? extends K, ? extends V> map) { |
|
throw new UnsupportedOperationException(); |
|
} |
|
|
|
@Override |
|
public boolean putAll(final MultiValuedMap<? extends K, ? extends V> map) { |
|
throw new UnsupportedOperationException(); |
|
} |
|
|
|
} |