@Override ListMultimap<String, String> transform(Multimap<String, String> multimap) { return Multimaps.transformValues( (ListMultimap<String, String>) multimap, FUNCTION); } })
@Override Multimap<String, String> transform(Multimap<String, String> multimap) { return Multimaps.transformValues(multimap, FUNCTION); } })
private String computeToString() { StringBuilder builder = new StringBuilder().append(type).append('/').append(subtype); if (!parameters.isEmpty()) { builder.append("; "); Multimap<String, String> quotedParameters = Multimaps.transformValues( parameters, new Function<String, String>() { @Override public String apply(String value) { return TOKEN_MATCHER.matchesAllOf(value) ? value : escapeAndQuote(value); } }); PARAMETER_JOINER.appendTo(builder, quotedParameters.entries()); } return builder.toString(); }
private String computeToString() { StringBuilder builder = new StringBuilder().append(type).append('/').append(subtype); if (!parameters.isEmpty()) { builder.append("; "); Multimap<String, String> quotedParameters = Multimaps.transformValues( parameters, new Function<String, String>() { @Override public String apply(String value) { return TOKEN_MATCHER.matchesAllOf(value) ? value : escapeAndQuote(value); } }); PARAMETER_JOINER.appendTo(builder, quotedParameters.entries()); } return builder.toString(); }
private String computeToString() { StringBuilder builder = new StringBuilder().append(type).append('/').append(subtype); if (!parameters.isEmpty()) { builder.append("; "); Multimap<String, String> quotedParameters = Multimaps.transformValues( parameters, new Function<String, String>() { @Override public String apply(String value) { return TOKEN_MATCHER.matchesAllOf(value) ? value : escapeAndQuote(value); } }); PARAMETER_JOINER.appendTo(builder, quotedParameters.entries()); } return builder.toString(); }
private String computeToString() { StringBuilder builder = new StringBuilder().append(type).append('/').append(subtype); if (!parameters.isEmpty()) { builder.append("; "); Multimap<String, String> quotedParameters = Multimaps.transformValues( parameters, value -> TOKEN_MATCHER.matchesAllOf(value) ? value : escapeAndQuote(value)); PARAMETER_JOINER.appendTo(builder, quotedParameters.entries()); } return builder.toString(); }
@Override protected Map<String, Collection<Integer>> makeEmptyMap() { return Multimaps.transformValues( ArrayListMultimap.<String, Integer>create(), Functions.<Integer>identity()) .asMap(); }
@GwtIncompatible(value = "untested") public void testTransformValuesIsView() { Multimap<String, String> multimap = LinkedListMultimap.create(); multimap.put("a", "a"); Multimap<String, Integer> transformed = Multimaps.transformValues( multimap, new Function<String, Integer>() { @Override public Integer apply(String str) { return str.length(); } }); Entry<String, String> entry = multimap.entries().iterator().next(); entry.setValue("bbb"); assertThat(transformed.entries()).containsExactly(immutableEntry("a", 3)); }
/** * Returns the input to output symbol mapping for the given source channel. * A single input symbol can map to multiple output symbols, thus requiring a Multimap. */ public Multimap<Symbol, SymbolReference> outputSymbolMap(int sourceIndex) { return Multimaps.transformValues(FluentIterable.from(getOutputSymbols()) .toMap(outputToSourceSymbolFunction(sourceIndex)) .asMultimap() .inverse(), Symbol::toSymbolReference); }
@Override protected Map<String, Collection<Integer>> makePopulatedMap() { ListMultimap<String, Integer> delegate = ArrayListMultimap.create(); populate(delegate); return Multimaps.transformValues(delegate, Functions.<Integer>identity()).asMap(); } }
@GwtIncompatible(value = "untested") public void testTransformValues() { SetMultimap<String, Integer> multimap = ImmutableSetMultimap.of("a", 2, "b", -3, "b", 3, "a", 4, "c", 6); Function<Integer, Integer> square = new Function<Integer, Integer>() { @Override public Integer apply(Integer in) { return in * in; } }; Multimap<String, Integer> transformed = Multimaps.transformValues(multimap, square); assertThat(transformed.entries()) .containsExactly( immutableEntry("a", 4), immutableEntry("a", 16), immutableEntry("b", 9), immutableEntry("b", 9), immutableEntry("c", 36)) .inOrder(); }
@GwtIncompatible(value = "untested") public void testTransformListValues() { ListMultimap<String, Integer> multimap = ImmutableListMultimap.of("a", 2, "b", -3, "b", 3, "a", 4, "c", 6); Function<Integer, Integer> square = new Function<Integer, Integer>() { @Override public Integer apply(Integer in) { return in * in; } }; ListMultimap<String, Integer> transformed = Multimaps.transformValues(multimap, square); assertThat(transformed.entries()) .containsExactly( immutableEntry("a", 4), immutableEntry("a", 16), immutableEntry("b", 9), immutableEntry("b", 9), immutableEntry("c", 36)) .inOrder(); }
private static void flush(Context context, Multimap<Cell, Value> batchToCreate, Multimap<Cell, Long> batchToDelete) { context.kvs.delete(AtlasDbConstants.OLD_SCRUB_TABLE, batchToDelete); context.totalDeletes += batchToDelete.size(); batchToDelete.clear(); try { context.kvs.putWithTimestamps(AtlasDbConstants.SCRUB_TABLE, batchToCreate); } catch (KeyAlreadyExistsException e) { context.kvs.delete(AtlasDbConstants.SCRUB_TABLE, Multimaps.transformValues(batchToCreate, Value::getTimestamp)); context.kvs.putWithTimestamps(AtlasDbConstants.SCRUB_TABLE, batchToCreate); } context.totalPuts += batchToCreate.size(); batchToCreate.clear(); context.output.println("Moved " + context.totalDeletes + " cells from " + "the old scrub queue into " + context.totalPuts + " cells in " + "the new scrub queue."); }
Multimap<Cell, byte[]> cellValuesWithStrippedTimestamp = Multimaps.transformValues(cellValues, Value.GET_VALUE);
public UriBuilder addQuery(Multimap<String, ?> parameters) { Multimap<String, QueryValue> queryValueMultimap = Multimaps.transformValues( checkNotNull(parameters, "parameters"), QUERY_VALUE_TRANSFORMER); query.putAll(queryValueMultimap); return this; }
public UriBuilder query(Multimap<String, ?> parameters) { Multimap<String, QueryValue> queryValueMultimap = Multimaps.transformValues( checkNotNull(parameters, "parameters"), QUERY_VALUE_TRANSFORMER); query.clear(); query.putAll(queryValueMultimap); return this; }
@Override ListMultimap<String, String> transform(Multimap<String, String> multimap) { return Multimaps.transformValues((ListMultimap<String, String>) multimap, FUNCTION); } })
@Override public Set<? extends NodeMetadata> listNodesByIds(Iterable<String> ids) { Multimap<String, String> idsByHandles = index(ids, splitHandle(1)); Multimap<String, String> idsByRegions = transformValues(idsByHandles, splitHandle(0)); Multimap<String, String> idsByConfiguredRegions = filterKeys(idsByRegions, in(regions.get())); if (idsByConfiguredRegions.isEmpty()) { return ImmutableSet.of(); } Iterable<? extends RunningInstance> instances = pollRunningInstancesByRegionsAndIds(idsByConfiguredRegions); Iterable<? extends NodeMetadata> nodes = transform(filter(instances, notNull()), runningInstanceToNodeMetadata); return ImmutableSet.copyOf(nodes); }
/** * Returns the input to output symbol mapping for the given source channel. * A single input symbol can map to multiple output symbols, thus requiring a Multimap. */ public Multimap<Symbol, SymbolReference> outputSymbolMap(int sourceIndex) { return Multimaps.transformValues(FluentIterable.from(getOutputSymbols()) .toMap(outputToSourceSymbolFunction(sourceIndex)) .asMultimap() .inverse(), Symbol::toSymbolReference); }
@Override protected Map<String, Collection<Integer>> makeEmptyMap() { return Multimaps.transformValues( ArrayListMultimap.<String, Integer> create(), Functions.<Integer> identity()).asMap(); }