@Override public Set<V> replaceValues(K key, Iterable<? extends V> values) { synchronized (mutex) { return delegate().replaceValues(key, values); // copy not synchronized } }
@CanIgnoreReturnValue @Override public Set<V> replaceValues(K key, Iterable<? extends V> values) { return delegate().replaceValues(key, values); } }
@Override public Set<V> replaceValues(K key, Iterable<? extends V> values) { synchronized (mutex) { return delegate().replaceValues(key, values); // copy not synchronized } }
@Override public OkHttpWebTarget queryParamsSet(String name, Set<?> values) { SetMultimap<String, String> newQueryParams = HashMultimap.create(queryParams); newQueryParams.replaceValues(name, values.stream().filter(Objects::nonNull).map(Object::toString).collect(Collectors.toSet())); return this.withQueryParams(newQueryParams); }
@Override public <U extends T> Set<U> replaceValues(Class<U> key, Iterable<? extends U> values) { return convertSet(key, inner.replaceValues(key, values)); }
@CanIgnoreReturnValue @Override public Set<V> replaceValues(K key, Iterable<? extends V> values) { return delegate().replaceValues(key, values); } }
public void testFilteredKeysSetMultimapReplaceValues() { SetMultimap<String, Integer> multimap = LinkedHashMultimap.create(); multimap.put("foo", 1); multimap.put("bar", 2); multimap.put("baz", 3); multimap.put("bar", 4); SetMultimap<String, Integer> filtered = Multimaps.filterKeys(multimap, Predicates.in(ImmutableSet.of("foo", "bar"))); assertEquals(ImmutableSet.of(), filtered.replaceValues("baz", ImmutableSet.<Integer>of())); try { filtered.replaceValues("baz", ImmutableSet.of(5)); fail("Expected IllegalArgumentException"); } catch (IllegalArgumentException expected) { } }
@CanIgnoreReturnValue @Override public Set<V> replaceValues(K key, Iterable<? extends V> values) { return delegate().replaceValues(key, values); } }
@MapFeature.Require({SUPPORTS_PUT, SUPPORTS_REMOVE}) public void testReplaceValuesHandlesDuplicates() { @SuppressWarnings("unchecked") List<V> values = Arrays.asList(v0(), v1(), v0()); for (K k : sampleKeys()) { resetContainer(); multimap().replaceValues(k, values); assertGet(k, v0(), v1()); } } }
@Override public Set<V> replaceValues( K key, Iterable<? extends V> values) { synchronized (mutex) { return delegate().replaceValues(key, values); // copy not synchronized } } @Override public Set<Map.Entry<K, V>> entries() {
@Override public Set<V> replaceValues( K key, Iterable<? extends V> values) { synchronized (mutex) { return delegate().replaceValues(key, values); // copy not synchronized } } @Override public Set<Map.Entry<K, V>> entries() {
@Override public Set<V> replaceValues( K key, Iterable<? extends V> values) { synchronized (mutex) { return delegate().replaceValues(key, values); // copy not synchronized } } @Override public Set<Map.Entry<K, V>> entries() {
@Override public Set<V> replaceValues( K key, Iterable<? extends V> values) { synchronized (mutex) { return delegate().replaceValues(key, values); // copy not synchronized } } @Override public Set<Map.Entry<K, V>> entries() {
@Override public Set<V> replaceValues( K key, Iterable<? extends V> values) { synchronized (mutex) { return delegate().replaceValues(key, values); // copy not synchronized } } @Override public Set<Map.Entry<K, V>> entries() {
@Override public Set<V> replaceValues( K key, Iterable<? extends V> values) { synchronized (mutex) { return delegate().replaceValues(key, values); // copy not synchronized } } @Override public Set<Map.Entry<K, V>> entries() {
@Override public Set<V> replaceValues(K key, Iterable<? extends V> values) { return delegate().replaceValues(key, values); } }
@Override public Set<V> replaceValues(K key, Iterable<? extends V> values) { return delegate().replaceValues(key, values); } }
@Override public Set<V> replaceValues( K key, Iterable<? extends V> values) { synchronized (mutex) { return delegate().replaceValues(key, values); // copy not synchronized } } @Override public Set<Map.Entry<K, V>> entries() {
@Override public Set<V> replaceValues( K key, Iterable<? extends V> values) { synchronized (mutex) { return delegate().replaceValues(key, values); // copy not synchronized } } @Override public Set<Map.Entry<K, V>> entries() {
@MapFeature.Require({SUPPORTS_PUT, SUPPORTS_REMOVE}) public void testReplaceValuesHandlesDuplicates() { @SuppressWarnings("unchecked") List<V> values = Arrays.asList(v0(), v1(), v0()); for (K k : sampleKeys()) { resetContainer(); multimap().replaceValues(k, values); assertGet(k, v0(), v1()); } } }