10888a09821a98ac0680fad765217302858e70fa4Paul Duffin/* 20888a09821a98ac0680fad765217302858e70fa4Paul Duffin * Copyright (C) 2012 The Guava Authors 30888a09821a98ac0680fad765217302858e70fa4Paul Duffin * 40888a09821a98ac0680fad765217302858e70fa4Paul Duffin * Licensed under the Apache License, Version 2.0 (the "License"); 50888a09821a98ac0680fad765217302858e70fa4Paul Duffin * you may not use this file except in compliance with the License. 60888a09821a98ac0680fad765217302858e70fa4Paul Duffin * You may obtain a copy of the License at 70888a09821a98ac0680fad765217302858e70fa4Paul Duffin * 80888a09821a98ac0680fad765217302858e70fa4Paul Duffin * http://www.apache.org/licenses/LICENSE-2.0 90888a09821a98ac0680fad765217302858e70fa4Paul Duffin * 100888a09821a98ac0680fad765217302858e70fa4Paul Duffin * Unless required by applicable law or agreed to in writing, software 110888a09821a98ac0680fad765217302858e70fa4Paul Duffin * distributed under the License is distributed on an "AS IS" BASIS, 120888a09821a98ac0680fad765217302858e70fa4Paul Duffin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130888a09821a98ac0680fad765217302858e70fa4Paul Duffin * See the License for the specific language governing permissions and 140888a09821a98ac0680fad765217302858e70fa4Paul Duffin * limitations under the License. 150888a09821a98ac0680fad765217302858e70fa4Paul Duffin */ 160888a09821a98ac0680fad765217302858e70fa4Paul Duffin 170888a09821a98ac0680fad765217302858e70fa4Paul Duffinpackage com.google.common.collect; 180888a09821a98ac0680fad765217302858e70fa4Paul Duffin 190888a09821a98ac0680fad765217302858e70fa4Paul Duffinimport com.google.common.annotations.GwtCompatible; 200888a09821a98ac0680fad765217302858e70fa4Paul Duffinimport com.google.common.base.Predicate; 210888a09821a98ac0680fad765217302858e70fa4Paul Duffin 220888a09821a98ac0680fad765217302858e70fa4Paul Duffinimport java.util.List; 230888a09821a98ac0680fad765217302858e70fa4Paul Duffin 240888a09821a98ac0680fad765217302858e70fa4Paul Duffinimport javax.annotation.Nullable; 250888a09821a98ac0680fad765217302858e70fa4Paul Duffin 260888a09821a98ac0680fad765217302858e70fa4Paul Duffin/** 270888a09821a98ac0680fad765217302858e70fa4Paul Duffin * Implementation of {@link Multimaps#filterKeys(ListMultimap, Predicate)}. 280888a09821a98ac0680fad765217302858e70fa4Paul Duffin * 290888a09821a98ac0680fad765217302858e70fa4Paul Duffin * @author Louis Wasserman 300888a09821a98ac0680fad765217302858e70fa4Paul Duffin */ 310888a09821a98ac0680fad765217302858e70fa4Paul Duffin@GwtCompatible 320888a09821a98ac0680fad765217302858e70fa4Paul Duffinfinal class FilteredKeyListMultimap<K, V> extends FilteredKeyMultimap<K, V> 330888a09821a98ac0680fad765217302858e70fa4Paul Duffin implements ListMultimap<K, V> { 340888a09821a98ac0680fad765217302858e70fa4Paul Duffin FilteredKeyListMultimap(ListMultimap<K, V> unfiltered, Predicate<? super K> keyPredicate) { 350888a09821a98ac0680fad765217302858e70fa4Paul Duffin super(unfiltered, keyPredicate); 360888a09821a98ac0680fad765217302858e70fa4Paul Duffin } 370888a09821a98ac0680fad765217302858e70fa4Paul Duffin 380888a09821a98ac0680fad765217302858e70fa4Paul Duffin @Override 390888a09821a98ac0680fad765217302858e70fa4Paul Duffin public ListMultimap<K, V> unfiltered() { 400888a09821a98ac0680fad765217302858e70fa4Paul Duffin return (ListMultimap<K, V>) super.unfiltered(); 410888a09821a98ac0680fad765217302858e70fa4Paul Duffin } 420888a09821a98ac0680fad765217302858e70fa4Paul Duffin 430888a09821a98ac0680fad765217302858e70fa4Paul Duffin @Override 440888a09821a98ac0680fad765217302858e70fa4Paul Duffin public List<V> get(K key) { 450888a09821a98ac0680fad765217302858e70fa4Paul Duffin return (List<V>) super.get(key); 460888a09821a98ac0680fad765217302858e70fa4Paul Duffin } 470888a09821a98ac0680fad765217302858e70fa4Paul Duffin 480888a09821a98ac0680fad765217302858e70fa4Paul Duffin @Override 490888a09821a98ac0680fad765217302858e70fa4Paul Duffin public List<V> removeAll(@Nullable Object key) { 500888a09821a98ac0680fad765217302858e70fa4Paul Duffin return (List<V>) super.removeAll(key); 510888a09821a98ac0680fad765217302858e70fa4Paul Duffin } 520888a09821a98ac0680fad765217302858e70fa4Paul Duffin 530888a09821a98ac0680fad765217302858e70fa4Paul Duffin @Override 540888a09821a98ac0680fad765217302858e70fa4Paul Duffin public List<V> replaceValues(K key, Iterable<? extends V> values) { 550888a09821a98ac0680fad765217302858e70fa4Paul Duffin return (List<V>) super.replaceValues(key, values); 560888a09821a98ac0680fad765217302858e70fa4Paul Duffin } 570888a09821a98ac0680fad765217302858e70fa4Paul Duffin} 58