Example usage for com.google.common.collect ImmutableListMultimap builder

List of usage examples for com.google.common.collect ImmutableListMultimap builder

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableListMultimap builder.

Prototype

public static <K, V> Builder<K, V> builder() 

Source Link

Document

Returns a new builder.

Usage

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();
}