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:org.sonar.api.batch.rule.internal.DefaultRules.java

DefaultRules(Collection<NewRule> newRules) {
    ImmutableListMultimap.Builder<String, Rule> builder = ImmutableListMultimap.builder();
    Table<String, String, List<Rule>> tableBuilder = HashBasedTable.create();

    for (NewRule newRule : newRules) {
        DefaultRule r = new DefaultRule(newRule);
        builder.put(r.key().repository(), r);
        addToTable(tableBuilder, r);/*from w w  w . ja va 2  s  . c  om*/
    }

    rulesByRepository = builder.build();
    rulesByRepositoryAndInternalKey = ImmutableTable.copyOf(tableBuilder);
}

From source file:com.github.jsdossier.testing.CompilerUtil.java

private static ImmutableListMultimap<Environment, SourceFile> loadBuiltinExterns() {
    ImmutableListMultimap.Builder<Environment, SourceFile> externs = ImmutableListMultimap.builder();
    for (Environment environment : Environment.values()) {
        try {// w  w w  .ja v  a 2 s.co  m
            externs.putAll(environment, AbstractCommandLineRunner.getBuiltinExterns(environment));
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    return externs.build();
}

From source file:com.microsoft.services.odata.unittests.testsupport.WireMockResponse.java

public Multimap<String, String> headers() {
    ImmutableListMultimap.Builder<String, String> builder = ImmutableListMultimap.builder();

    for (Header header : httpResponse.getAllHeaders()) {
        builder.put(header.getName(), header.getValue());
    }//  www.ja  v  a2s  .  c  o  m

    return builder.build();
}

From source file:org.sonar.api.batch.rule.internal.DefaultActiveRules.java

public DefaultActiveRules(Collection<NewActiveRule> newActiveRules) {
    ImmutableListMultimap.Builder<String, ActiveRule> repoBuilder = ImmutableListMultimap.builder();
    ImmutableListMultimap.Builder<String, ActiveRule> langBuilder = ImmutableListMultimap.builder();
    for (NewActiveRule newAR : newActiveRules) {
        DefaultActiveRule ar = new DefaultActiveRule(newAR);
        repoBuilder.put(ar.ruleKey().repository(), ar);
        if (ar.language() != null) {
            langBuilder.put(ar.language(), ar);
        }/*from ww w .  jav  a2 s . c o m*/
        if (!activeRulesByRepositoryAndKey.containsKey(ar.ruleKey().repository())) {
            activeRulesByRepositoryAndKey.put(ar.ruleKey().repository(), new HashMap<String, ActiveRule>());
            activeRulesByRepositoryAndInternalKey.put(ar.ruleKey().repository(),
                    new HashMap<String, ActiveRule>());
        }
        activeRulesByRepositoryAndKey.get(ar.ruleKey().repository()).put(ar.ruleKey().rule(), ar);
        String internalKey = ar.internalKey();
        if (internalKey != null) {
            activeRulesByRepositoryAndInternalKey.get(ar.ruleKey().repository()).put(internalKey, ar);
        }
    }
    activeRulesByRepository = repoBuilder.build();
    activeRulesByLanguage = langBuilder.build();
}

From source file:org.gradle.model.internal.core.ProjectionBackedModelCreator.java

public ProjectionBackedModelCreator(ModelPath path, ModelRuleDescriptor descriptor, boolean service,
        boolean ephemeral, final boolean hidden, Iterable<? extends ModelProjection> initialProjections,
        Multimap<ModelActionRole, ? extends ModelAction> actions) {
    this.path = path;
    this.descriptor = descriptor;
    this.service = service;
    this.ephemeral = ephemeral;
    this.projections = Lists.newArrayList(initialProjections);
    this.projection = new ChainingModelProjection(projections);

    ImmutableListMultimap.Builder<ModelActionRole, ModelAction> actionsBuilder = ImmutableListMultimap
            .builder();/*from  w ww.j  av  a2 s .  c  o  m*/
    actionsBuilder.putAll(actions);
    actionsBuilder.put(ModelActionRole.DefineProjections,
            new AbstractModelAction<Object>(ModelReference.of(path), descriptor) {
                @Override
                public void execute(MutableModelNode modelNode, List<ModelView<?>> inputs) {
                    modelNode.setHidden(hidden);
                }
            });
    this.actions = actionsBuilder.build();
}

From source file:de.metas.ui.web.quickinput.QuickInputDescriptorFactoryService.java

private static ImmutableListMultimap<IQuickInputDescriptorFactory.MatchingKey, IQuickInputDescriptorFactory> createFactoriesFromContext(
        final List<IQuickInputDescriptorFactory> factoriesList) {
    if (factoriesList == null || factoriesList.isEmpty()) {
        return ImmutableListMultimap.of();
    }//w  w w . ja v  a  2 s . c o  m

    final ImmutableListMultimap.Builder<IQuickInputDescriptorFactory.MatchingKey, IQuickInputDescriptorFactory> factoriesMap = ImmutableListMultimap
            .builder();
    for (final IQuickInputDescriptorFactory factory : factoriesList) {
        final Set<IQuickInputDescriptorFactory.MatchingKey> matchingKeys = factory.getMatchingKeys();
        if (matchingKeys == null || matchingKeys.isEmpty()) {
            logger.warn("Ignoring {} because it provides no matching keys", factory);
            break;
        }

        for (final IQuickInputDescriptorFactory.MatchingKey matchingKey : matchingKeys) {
            factoriesMap.put(matchingKey, factory);
        }
    }

    return factoriesMap.build();
}

From source file:com.isotrol.impe3.core.impl.AbstractMultiStringParameters.java

final ListMultimap<CaseIgnoringString, String> submap(Set<String> included) {
    if (included == null || included.isEmpty()) {
        return ImmutableListMultimap.of();
    }//from w  w w  . j a v a 2  s. com
    final ImmutableListMultimap.Builder<CaseIgnoringString, String> builder = ImmutableListMultimap.builder();
    for (Map.Entry<CaseIgnoringString, Collection<String>> entry : map().asMap().entrySet()) {
        if (included.contains(entry.getKey())) {
            builder.putAll(entry.getKey(), entry.getValue());
        }
    }
    return builder.build();
}

From source file:org.immutables.generator.processor.Implicits.java

private ImmutableListMultimap<TypeMirror, TypeMirror> buildImplicitMappingFrom(
        Iterable<? extends TypeMirror> imports) {
    ImmutableListMultimap.Builder<TypeMirror, TypeMirror> builder = ImmutableListMultimap.builder();

    for (TypeMirror type : imports) {
        if (types.isSubtype(checkDeclaredType(type), implicitTypeErasure)) {
            for (TypeMirror superType : types.directSupertypes(type)) {
                if (types.isSubtype(superType, implicitTypeErasure)) {
                    TypeMirror targetType = getTargetTypeArgument(superType);
                    builder.put(targetType, type);
                }/*from  ww w .jav  a  2  s.co m*/
            }
        }
    }

    return builder.build();
}

From source file:org.sonar.server.project.ws.SearchMyProjectsData.java

private static ListMultimap<String, ComponentLinkDto> buildProjectLinks(List<ComponentLinkDto> dtos) {
    ImmutableListMultimap.Builder<String, ComponentLinkDto> projectLinks = ImmutableListMultimap.builder();
    dtos.forEach(projectLink -> projectLinks.put(projectLink.getComponentUuid(), projectLink));
    return projectLinks.build();
}

From source file:dagger2.internal.codegen.ContributionBinding.java

/**
 * Returns the set of {@link BindingType} enum values implied by a given
 * {@link ContributionBinding} collection.
 *//*from w ww  .  ja  va  2  s. c  om*/
static <B extends ContributionBinding> ImmutableListMultimap<BindingType, B> bindingTypesFor(
        Iterable<? extends B> bindings) {
    ImmutableListMultimap.Builder<BindingType, B> builder = ImmutableListMultimap.builder();
    builder.orderKeysBy(Ordering.<BindingType>natural());
    for (B binding : bindings) {
        builder.put(binding.bindingType(), binding);
    }
    return builder.build();
}