1/* 2 * Copyright (C) 2012 The Guava Authors 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.google.common.collect; 18 19import com.google.common.annotations.GwtCompatible; 20import com.google.common.base.Predicate; 21 22import java.util.Map.Entry; 23import java.util.Set; 24 25/** 26 * Implementation of {@link Multimaps#filterEntries(SetMultimap, Predicate)}. 27 * 28 * @author Louis Wasserman 29 */ 30@GwtCompatible 31final class FilteredEntrySetMultimap<K, V> extends FilteredEntryMultimap<K, V> 32 implements FilteredSetMultimap<K, V> { 33 34 FilteredEntrySetMultimap(SetMultimap<K, V> unfiltered, Predicate<? super Entry<K, V>> predicate) { 35 super(unfiltered, predicate); 36 } 37 38 @Override 39 public SetMultimap<K, V> unfiltered() { 40 return (SetMultimap<K, V>) unfiltered; 41 } 42 43 @Override 44 public Set<V> get(K key) { 45 return (Set<V>) super.get(key); 46 } 47 48 @Override 49 public Set<V> removeAll(Object key) { 50 return (Set<V>) super.removeAll(key); 51 } 52 53 @Override 54 public Set<V> replaceValues(K key, Iterable<? extends V> values) { 55 return (Set<V>) super.replaceValues(key, values); 56 } 57 58 @Override 59 Set<Entry<K, V>> createEntries() { 60 return Sets.filter(unfiltered().entries(), entryPredicate()); 61 } 62 63 @Override 64 public Set<Entry<K, V>> entries() { 65 return (Set<Entry<K, V>>) super.entries(); 66 } 67} 68