List of usage examples for com.google.common.collect ImmutableListMultimap builder
public static <K, V> Builder<K, V> builder()
From source file:foo.domaintest.util.QueryStringHelper.java
public static Multimap<String, String> parseQuery(String query) { ImmutableListMultimap.Builder<String, String> params = new ImmutableListMultimap.Builder<>(); for (String piece : Splitter.on('&').omitEmptyStrings().split(nullToEmpty(query))) { List<String> keyAndValue = Splitter.on('=').limit(2).splitToList(piece); try {// w ww . ja va2 s . c o m params.put(URLDecoder.decode(keyAndValue.get(0), UTF_8.name()), URLDecoder.decode(Iterables.get(keyAndValue, 1, ""), UTF_8.name())); } catch (UnsupportedEncodingException e) { throw new AssertionError(e); } } return params.build(); }
From source file:com.codingopus.guava.custom.collectors.ImmutableListMultimapCollector.java
public static <T, K, V> Collector<T, ?, ImmutableListMultimap<K, V>> toImmutableListMultimapCollector( final Function<? super T, ? extends K> keyExtractor, final Function<? super T, ? extends V> valueExtractor) { return Collector.of(ImmutableListMultimap::builder, (map, val) -> map.put(keyExtractor.apply(val), valueExtractor.apply(val)), (l, r) -> l.putAll(r.build()), ImmutableListMultimap.Builder<K, V>::build); }
From source file:com.github.tomakehurst.wiremock.common.Urls.java
public static Map<String, QueryParameter> splitQuery(String query) { if (query == null) { return Collections.emptyMap(); }/*from w w w . j ava2 s.co m*/ Iterable<String> pairs = Splitter.on('&').split(query); ImmutableListMultimap.Builder<String, String> builder = ImmutableListMultimap.builder(); for (String queryElement : pairs) { int firstEqualsIndex = queryElement.indexOf('='); if (firstEqualsIndex == -1) { builder.putAll(queryElement, ""); } else { String key = queryElement.substring(0, firstEqualsIndex); String value = decode(queryElement.substring(firstEqualsIndex + 1)); builder.putAll(key, value); } } return Maps.transformEntries(builder.build().asMap(), new Maps.EntryTransformer<String, Collection<String>, QueryParameter>() { public QueryParameter transformEntry(String key, Collection<String> values) { return new QueryParameter(key, ImmutableList.copyOf(values)); } }); }
From source file:com.greensopinion.finance.services.transaction.EntityReferences.java
private static ListMultimap<String, String> readEntityReferences() { ImmutableListMultimap.Builder<String, String> builder = ImmutableListMultimap.builder(); try {// ww w . java 2s . c o m BufferedReader reader = new BufferedReader(new InputStreamReader( EntityReferences.class.getResourceAsStream("entity-references.txt"), Charsets.UTF_8)); //$NON-NLS-1$ try { Splitter splitter = Splitter.on(CharMatcher.WHITESPACE).trimResults().omitEmptyStrings(); String line; while ((line = reader.readLine()) != null) { List<String> lineItems = splitter.splitToList(line); checkState(lineItems.size() > 1); for (int x = 1; x < lineItems.size(); ++x) { builder.put(lineItems.get(0), lineItems.get(x)); } } } finally { reader.close(); } } catch (IOException e) { throw Throwables.propagate(e); } return builder.build(); }
From source file:org.graylog2.indexer.results.HighlightParser.java
static Multimap<String, Range<Integer>> extractHighlightRanges(Map<String, List<String>> highlight) { if (highlight == null || highlight.isEmpty()) { return ImmutableListMultimap.of(); }// w ww . j ava2 s . com final ImmutableListMultimap.Builder<String, Range<Integer>> builder = ImmutableListMultimap.builder(); highlight.forEach((key, value) -> extractRange(value).forEach(range -> builder.put(key, range))); return builder.build(); }
From source file:com.example.lukas.ndktest.MemoryAnalysis.MemoryInfo.java
public MemoryInfo(MappedMemoryRegion[] regions) { ImmutableListMultimap.Builder<String, MappedMemoryRegion> builder = ImmutableListMultimap.builder(); this.Regions = regions.clone(); for (MappedMemoryRegion region : this.Regions) { if (region.Description != null && !region.Description.isEmpty()) { builder.put(region.Description, region); }/*from ww w.ja va2s .c om*/ } this.DescriptionLookupTable = builder.build(); }
From source file:fr.loria.parole.artimate.data.UnitDB.java
public UnitDB(UnitSequence timeline) { Builder<String, Unit> builder = new ImmutableListMultimap.Builder<String, Unit>(); for (Unit unit : timeline) { builder.put(unit.getLabel(), unit); }/*from w w w . j av a 2 s .c o m*/ units = builder.build(); }
From source file:com.opengamma.strata.collect.io.PropertySet.java
/** * Obtains an instance from a map./*w w w . ja v a 2s .co m*/ * <p> * The returned instance will have one value for each key. * * @param keyValues the key-values to create the instance with * @return the property set */ public static PropertySet of(Map<String, String> keyValues) { ArgChecker.notNull(keyValues, "keyValues"); ImmutableListMultimap.Builder<String, String> builder = ImmutableListMultimap.builder(); for (Entry<String, String> entry : keyValues.entrySet()) { builder.put(entry); } return new PropertySet(builder.build()); }
From source file:org.tensorics.core.math.Operations.java
public static <K, V> ListMultimap<K, V> mapAll(Multimap<K, ValuePair<V>> valuePairs, BinaryOperation<V> operation) { ImmutableListMultimap.Builder<K, V> builder = ImmutableListMultimap.builder(); for (Entry<K, Collection<ValuePair<V>>> entry : valuePairs.asMap().entrySet()) { builder.putAll(entry.getKey(), performOnAll(entry.getValue(), operation)); }/* w w w . j a va 2s . c om*/ return builder.build(); }
From source file:co.cask.common.http.HttpResponse.java
private static Multimap<String, String> parseHeaders(Map<String, List<String>> headers) { ImmutableListMultimap.Builder<String, String> builder = new ImmutableListMultimap.Builder<String, String>(); for (Map.Entry<String, List<String>> entry : headers.entrySet()) { // By default, headers created by URLConnection contain an entry from null -> HTTP Response message if (entry.getKey() != null) { builder.putAll(entry.getKey(), entry.getValue()); }/*w ww . j ava2 s . com*/ } return builder.build(); }