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

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

Introduction

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

Prototype

public static <E> Builder<E> builder() 

Source Link

Usage

From source file:rtdc.core.event.EventAggregator.java

public ImmutableSet<T> getHandlers() {
    ImmutableSet.Builder<T> builder = ImmutableSet.builder();
    Iterator<WeakReference<T>> it = handlers.iterator();
    while (it.hasNext()) {
        T next = it.next().get();/*  w ww  . j a v  a2  s.  com*/
        if (next == null)
            it.remove();
        else
            builder.add(next);
    }
    return builder.build();
}

From source file:com.facebook.buck.query.QueryTargetAccessor.java

/**
 * Filters the objects in the given attribute that satisfy the given predicate.
 *///from  w w w  . j  ava2s .  c  om
public static <T> ImmutableSet<Object> filterAttributeContents(TargetNode<T, ?> node, String attribute,
        final Predicate<Object> predicate) {
    try {
        final ImmutableSet.Builder<Object> builder = ImmutableSet.builder();
        Class<?> constructorArgClass = node.getConstructorArg().getClass();
        Field field = constructorArgClass.getField(attribute);
        ParamInfo info = new ParamInfo(typeCoercerFactory, constructorArgClass, field);
        info.traverse(value -> {
            if (predicate.apply(value)) {
                builder.add(value);
            }
        }, node.getConstructorArg());
        return builder.build();
    } catch (NoSuchFieldException e) {
        // Ignore if the field does not exist in this rule.
        return ImmutableSet.of();
    }
}

From source file:com.facebook.buck.js.JsFlavors.java

public static boolean validateFlavors(ImmutableSet<Flavor> flavors,
        Iterable<FlavorDomain<?>> allowableDomains) {

    final ImmutableSet.Builder<Flavor> allowableFlavors = ImmutableSet.builder();
    for (FlavorDomain<?> domain : allowableDomains) {
        // verify only one flavor of each domain is present
        domain.getFlavor(flavors);/*from  w w  w. ja va 2s . c  om*/
        allowableFlavors.addAll(domain.getFlavors());
    }

    return allowableFlavors.build().containsAll(flavors);
}

From source file:org.sonar.java.ast.visitors.SyntaxHighlighterVisitor.java

public SyntaxHighlighterVisitor(SonarComponents sonarComponents) {
    this.sonarComponents = sonarComponents;

    ImmutableSet.Builder<String> keywordsBuilder = ImmutableSet.builder();
    keywordsBuilder.add(JavaKeyword.keywordValues());
    keywords = keywordsBuilder.build();//from   w  ww .j av  a  2 s.co  m

    ImmutableMap.Builder<Tree.Kind, TypeOfText> typesByKindBuilder = ImmutableMap.builder();
    typesByKindBuilder.put(Tree.Kind.STRING_LITERAL, TypeOfText.STRING);
    typesByKindBuilder.put(Tree.Kind.CHAR_LITERAL, TypeOfText.STRING);
    typesByKindBuilder.put(Tree.Kind.FLOAT_LITERAL, TypeOfText.CONSTANT);
    typesByKindBuilder.put(Tree.Kind.DOUBLE_LITERAL, TypeOfText.CONSTANT);
    typesByKindBuilder.put(Tree.Kind.LONG_LITERAL, TypeOfText.CONSTANT);
    typesByKindBuilder.put(Tree.Kind.INT_LITERAL, TypeOfText.CONSTANT);
    typesByKindBuilder.put(Tree.Kind.ANNOTATION, TypeOfText.ANNOTATION);
    typesByKind = typesByKindBuilder.build();
}

From source file:org.onlab.graph.AdjacencyListsGraph.java

/**
 * Creates a graph comprising of the specified vertexes and edges.
 *
 * @param vertexes set of graph vertexes
 * @param edges    set of graph edges/*w w  w.  ja  v  a  2 s.c om*/
 */
public AdjacencyListsGraph(Set<V> vertexes, Set<E> edges) {
    checkNotNull(vertexes, "Vertex set cannot be null");
    checkNotNull(edges, "Edge set cannot be null");

    // Record ingress/egress edges for each vertex.
    ImmutableSetMultimap.Builder<V, E> srcMap = ImmutableSetMultimap.builder();
    ImmutableSetMultimap.Builder<V, E> dstMap = ImmutableSetMultimap.builder();

    // Also make sure that all edge end-points are added as vertexes
    ImmutableSet.Builder<V> actualVertexes = ImmutableSet.builder();
    actualVertexes.addAll(vertexes);

    for (E edge : edges) {
        srcMap.put(edge.src(), edge);
        actualVertexes.add(edge.src());
        dstMap.put(edge.dst(), edge);
        actualVertexes.add(edge.dst());
    }

    // Make an immutable copy of the edge and vertex sets
    this.edges = ImmutableSet.copyOf(edges);
    this.vertexes = actualVertexes.build();

    // Build immutable copies of sources and destinations edge maps
    sources = srcMap.build();
    destinations = dstMap.build();
}

From source file:info.gehrels.voting.singleTransferableVote.CandidateStates.java

public ImmutableSet<CANDIDATE_TYPE> getHopefulCandidates() {
    ImmutableSet.Builder<CANDIDATE_TYPE> builder = ImmutableSet.builder();
    candidateStates.entrySet().stream().filter(this::isHopefulCandidate)
            .forEach(entry -> builder.add(entry.getKey()));

    return builder.build();
}

From source file:org.androidtransfuse.util.matcher.InjectionSignatureMatcherBuilder.java

public InjectionSignatureMatcherBuilder byAnnotation(ASTAnnotation... qualifiers) {
    ImmutableSet.Builder<ASTAnnotation> builder = ImmutableSet.builder();
    if (qualifiers != null) {
        for (ASTAnnotation astAnnotation : qualifiers) {
            builder.add(astAnnotation);//from w  w  w  .j av  a 2 s .c om
        }
    }
    return byAnnotation(builder.build());
}

From source file:com.facebook.buck.apple.xcode.RuleDependencyFinder.java

private static ImmutableSet<BuildRule> gatherTransitiveDependencies(Iterable<? extends BuildRule> initial) {
    final ImmutableSet.Builder<BuildRule> buildRulesBuilder = ImmutableSet.builder();
    AbstractAcyclicDepthFirstPostOrderTraversal<BuildRule> allDependenciesTraversal = new AbstractAcyclicDepthFirstPostOrderTraversal<BuildRule>() {
        @Override//from  www. jav a2s . com
        protected Iterator<BuildRule> findChildren(BuildRule node) throws IOException {
            return node.getDeps().iterator();
        }

        @Override
        protected void onNodeExplored(BuildRule node) {
        }

        @Override
        protected void onTraversalComplete(Iterable<BuildRule> nodesInExplorationOrder) {
            buildRulesBuilder.addAll(nodesInExplorationOrder);
        }
    };
    try {
        allDependenciesTraversal.traverse(initial);
    } catch (AbstractAcyclicDepthFirstPostOrderTraversal.CycleException e) {
        throw new HumanReadableException(e,
                "Cycle detected while gathering build rule dependencies for project generation:\n "
                        + e.getMessage());
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
    return buildRulesBuilder.build();
}

From source file:com.facebook.buck.core.rules.common.BuildRules.java

public static ImmutableSet<BuildRule> getUnsortedExportedRules(Iterable<? extends BuildRule> rules) {
    ImmutableSet.Builder<BuildRule> exportedRules = ImmutableSet.builder();
    buildExportedRules(rules, exportedRules);
    return exportedRules.build();
}

From source file:org.sonar.plugins.csharp.CSharpSonarRulesDefinition.java

@Override
public void define(Context context) {
    NewRepository repository = context.createRepository(REPOSITORY_KEY, CSharpPlugin.LANGUAGE_KEY)
            .setName(REPOSITORY_NAME);/*from   w ww .j a v  a  2  s .c  om*/

    RulesDefinitionXmlLoader loader = new RulesDefinitionXmlLoader();
    loader.load(repository, new InputStreamReader(
            getClass().getResourceAsStream("/org/sonar/plugins/csharp/rules.xml"), StandardCharsets.UTF_8));
    SqaleXmlLoader.load(repository, "/org/sonar/plugins/csharp/sqale.xml");

    ImmutableSet.Builder<String> builder = ImmutableSet.builder();
    for (NewRule rule : repository.rules()) {
        builder.add(rule.key());
    }
    allRuleKeys = builder.build();

    repository.done();
}