@Override Multimap<String, String> transform(Multimap<String, String> multimap) { return Multimaps.transformEntries(multimap, ENTRY_TRANSFORMER); } })
@Override ListMultimap<String, String> transform(Multimap<String, String> multimap) { return Multimaps.transformEntries( (ListMultimap<String, String>) multimap, ENTRY_TRANSFORMER); } })
checkNotNull(function); EntryTransformer<K, V1, V2> transformer = Maps.asEntryTransformer(function); return transformEntries(fromMultimap, transformer);
checkNotNull(function); EntryTransformer<K, V1, V2> transformer = Maps.asEntryTransformer(function); return transformEntries(fromMultimap, transformer);
checkNotNull(function); EntryTransformer<K, V1, V2> transformer = Maps.asEntryTransformer(function); return transformEntries(fromMultimap, transformer);
checkNotNull(function); EntryTransformer<K, V1, V2> transformer = Maps.asEntryTransformer(function); return transformEntries(fromMultimap, transformer);
@GwtIncompatible(value = "untested") public void testTransformEntries() { SetMultimap<String, Integer> multimap = ImmutableSetMultimap.of("a", 1, "a", 4, "b", -6); EntryTransformer<String, Integer, String> transformer = new EntryTransformer<String, Integer, String>() { @Override public String transformEntry(String key, Integer value) { return (value >= 0) ? key : "no" + key; } }; Multimap<String, String> transformed = Multimaps.transformEntries(multimap, transformer); assertThat(transformed.entries()) .containsExactly( immutableEntry("a", "a"), immutableEntry("a", "a"), immutableEntry("b", "nob")) .inOrder(); }
@GwtIncompatible(value = "untested") public void testTransformListEntries() { ListMultimap<String, Integer> multimap = ImmutableListMultimap.of("a", 1, "a", 4, "b", 6, "a", 4); EntryTransformer<String, Integer, String> transformer = new EntryTransformer<String, Integer, String>() { @Override public String transformEntry(String key, Integer value) { return key + value; } }; ListMultimap<String, String> transformed = Multimaps.transformEntries(multimap, transformer); assertEquals(ImmutableListMultimap.of("a", "a1", "a", "a4", "a", "a4", "b", "b6"), transformed); assertEquals("{a=[a1, a4, a4], b=[b6]}", transformed.toString()); }
@Override ListMultimap<String, String> transform(Multimap<String, String> multimap) { return Multimaps.transformEntries( (ListMultimap<String, String>) multimap, ENTRY_TRANSFORMER); } })
checkNotNull(function); EntryTransformer<K, V1, V2> transformer = Maps.asEntryTransformer(function); return transformEntries(fromMultimap, transformer);
checkNotNull(function); EntryTransformer<K, V1, V2> transformer = Maps.asEntryTransformer(function); return transformEntries(fromMultimap, transformer);
checkNotNull(function); EntryTransformer<K, V1, V2> transformer = Maps.asEntryTransformer(function); return transformEntries(fromMultimap, transformer);
checkNotNull(function); EntryTransformer<K, V1, V2> transformer = Maps.asEntryTransformer(function); return transformEntries(fromMultimap, transformer);
checkNotNull(function); EntryTransformer<K, V1, V2> transformer = Maps.asEntryTransformer(function); return transformEntries(fromMultimap, transformer);
checkNotNull(function); EntryTransformer<K, V1, V2> transformer = Maps.asEntryTransformer(function); return transformEntries(fromMultimap, transformer);
private ServletHandler buildServletHandler(Configuration configuration) { ServletHandler servletHandler = new ServletHandler(); BiConsumer<String, ServletHolder> addServletMapping = (path, servletHolder) -> servletHandler.addServletWithMapping(servletHolder, path); BiConsumer<String, Collection<FilterHolder>> addFilterMappings = (path, filterHolders) -> filterHolders.forEach( filterHolder -> servletHandler.addFilterWithMapping(filterHolder, path, EnumSet.of(DispatcherType.REQUEST))); Maps.transformEntries(configuration.getMappings(), this::toServletHolder).forEach(addServletMapping); Multimaps.transformEntries(configuration.getFilters(), this::toFilterHolder).asMap().forEach(addFilterMappings); return servletHandler; }
private ServletHandler buildServletHandler(Configuration configuration) { ServletHandler servletHandler = new ServletHandler(); BiConsumer<String, ServletHolder> addServletMapping = (path, servletHolder) -> servletHandler.addServletWithMapping(servletHolder, path); BiConsumer<String, Collection<FilterHolder>> addFilterMappings = (path, filterHolders) -> filterHolders.forEach( filterHolder -> servletHandler.addFilterWithMapping(filterHolder, path, EnumSet.of(DispatcherType.REQUEST))); Maps.transformEntries(configuration.getMappings(), this::toServletHolder).forEach(addServletMapping); Multimaps.transformEntries(configuration.getFilters(), this::toFilterHolder).asMap().forEach(addFilterMappings); return servletHandler; }
private NotificationScheme transformToNotificationScheme(final Scheme scheme) { final ImmutableListMultimap<EventType, SchemeEntity> notificationEntitiesByEventType = Multimaps.index(scheme.getEntities(), new Function<SchemeEntity, EventType>() { @Override public EventType apply(final SchemeEntity schemeEntity) { return eventTypeManager.getEventType((Long) schemeEntity.getEntityTypeId()); } }); final ListMultimap<EventType, Option<Notification>> notificationsByEventType = Multimaps.transformEntries(notificationEntitiesByEventType, new Maps.EntryTransformer<EventType, SchemeEntity, Option<Notification>>() { @Override public Option<Notification> transformEntry(final EventType key, final SchemeEntity schemeEntity) { return createNotificationForSchemeEntity(schemeEntity); } }); Iterable<EventNotifications> notificationEvents = Iterables.transform(notificationsByEventType.asMap().entrySet(), new Function<Map.Entry<EventType, Collection<Option<Notification>>>, EventNotifications>() { @Override public EventNotifications apply(final Map.Entry<EventType, Collection<Option<Notification>>> input) { final Iterable<Notification> notifications = ImmutableList.copyOf(Options.flatten(input.getValue())); return new EventNotifications(input.getKey(), notifications); } }); return new NotificationScheme(scheme.getId(), scheme.getName(), scheme.getDescription(), notificationEvents); }
@GwtIncompatible(value = "untested") public void testTransformEntries() { SetMultimap<String, Integer> multimap = ImmutableSetMultimap.of("a", 1, "a", 4, "b", -6); EntryTransformer<String, Integer, String> transformer = new EntryTransformer<String, Integer, String>() { @Override public String transformEntry(String key, Integer value) { return (value >= 0) ? key : "no" + key; } }; Multimap<String, String> transformed = Multimaps.transformEntries(multimap, transformer); assertThat(transformed.entries()).containsExactly(immutableEntry("a", "a"), immutableEntry("a", "a"), immutableEntry("b", "nob")).inOrder(); }
@GwtIncompatible(value = "untested") public void testTransformListEntries() { ListMultimap<String, Integer> multimap = ImmutableListMultimap.of("a", 1, "a", 4, "b", 6, "a", 4); EntryTransformer<String, Integer, String> transformer = new EntryTransformer<String, Integer, String>() { @Override public String transformEntry(String key, Integer value) { return key + value; } }; ListMultimap<String, String> transformed = Multimaps.transformEntries(multimap, transformer); assertEquals( ImmutableListMultimap.of("a", "a1", "a", "a4", "a", "a4", "b", "b6"), transformed); assertEquals("{a=[a1, a4, a4], b=[b6]}", transformed.toString()); }