com.google.common.collect.SetMultimap#replaceValues ( )源码实例Demo

下面列出了com.google.common.collect.SetMultimap#replaceValues ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: gef   文件: BindingUtils.java
@SuppressWarnings("unchecked")
@Override
public void onChanged(Change<? extends K, ? extends V> change) {
	// This cast is safe, as a
	// UnidirectionalSetMultimapContentBinding<K, V> will only be used
	// for a SetMultimap<K, V>.
	final SetMultimap<K, V> source = (SetMultimap<K, V>) change
			.getSetMultimap();
	while (change.next()) {
		final SetMultimap<K, V> destination = setMultimapRef.get();
		if (destination == null) {
			change.getSetMultimap().removeListener(this);
		} else {
			// we use replaceValues() to perform an atomic change here
			// (and
			// thus don't use the added and removed values from the
			// change)
			destination.replaceValues(change.getKey(),
					new HashSet<>(source.get(change.getKey())));
		}
	}
}
 
源代码2 项目: gef   文件: SetMultimapExpression.java
@Override
public Set<V> replaceValues(K key, Iterable<? extends V> values) {
	final SetMultimap<K, V> setMultimap = get();
	return (setMultimap == null)
			? EMPTY_SETMULTIMAP.replaceValues(key, values)
			: setMultimap.replaceValues(key, values);
}
 
源代码3 项目: gef   文件: BindingUtils.java
@Override
public void onChanged(Change<? extends K, ? extends V> change) {
	if (!updating) {
		final ObservableSetMultimap<K, V> setMultimap1 = setMultimap1Ref
				.get();
		final ObservableSetMultimap<K, V> setMultimap2 = setMultimap2Ref
				.get();
		if ((setMultimap1 == null) || (setMultimap2 == null)) {
			if (setMultimap1 != null) {
				setMultimap1.removeListener(this);
			}
			if (setMultimap2 != null) {
				setMultimap2.removeListener(this);
			}
		} else {
			try {
				updating = true;
				final SetMultimap<K, V> source = setMultimap1 == change
						.getSetMultimap() ? setMultimap1 : setMultimap2;
				final SetMultimap<K, V> destination = setMultimap1 == change
						.getSetMultimap() ? setMultimap2 : setMultimap1;
				// we use replaceValues() to perform an atomic change
				// here (and thus don't use the added and removed values
				// from the change)
				while (change.next()) {
					destination.replaceValues(change.getKey(),
							new HashSet<>(source.get(change.getKey())));
				}
			} finally {
				updating = false;
			}
		}
	}
}
 
源代码4 项目: docker-java   文件: DefaultDockerCmdExecFactory.java
@Override
public DefaultWebTarget 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 new DefaultWebTarget(path, newQueryParams);
}