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:uk.ac.ebi.mdk.io.text.kegg.KeggGlycanField.java

private KeggGlycanField(String... names) {
    ImmutableSet.Builder<String> ns = new ImmutableSet.Builder<String>();
    for (String name : names) {
        ns.add(name);// www .j  a  v  a2s.com
    }
    ns.add(name());
    this.names = ns.build();
}

From source file:com.jeffreybosboom.region.Region.java

public static ImmutableSet<Region> connectedComponents(BufferedImage image, Set<Integer> interestingColors) {
    final int imageSize = image.getWidth() * image.getHeight();
    BitSet processed = new BitSet(imageSize);
    for (int x = 0; x < image.getWidth(); ++x)
        for (int y = 0; y < image.getHeight(); ++y)
            if (!interestingColors.contains(image.getRGB(x, y)))
                processed.set(y * image.getWidth() + x);

    ImmutableSet.Builder<Region> builder = ImmutableSet.builder();
    int lastClearBit = 0;
    while ((lastClearBit = processed.nextClearBit(lastClearBit)) != imageSize) {
        int fillY = lastClearBit / image.getWidth(), fillX = lastClearBit % image.getWidth();
        int color = image.getRGB(fillX, fillY);
        List<Point> points = new ArrayList<>();

        //flood fill
        Deque<Point> frontier = new ArrayDeque<>();
        frontier.push(new Point(fillX, fillY));
        while (!frontier.isEmpty()) {
            Point p = frontier.pop();
            int bitIndex = p.row() * image.getWidth() + p.col();
            if (processed.get(bitIndex))
                continue;
            if (image.getRGB(p.x, p.y) != color)
                continue;

            points.add(p);/*from  w w w.j  a va  2s. c  om*/
            processed.set(bitIndex);
            for (int[] n : NEIGHBORHOOD) {
                int nx = p.x + n[0], ny = p.y + n[1];
                int nBitIndex = nx + ny * image.getWidth();
                if (0 <= nx && nx < image.getWidth() && 0 <= ny && ny < image.getHeight()
                        && !processed.get(nBitIndex))
                    frontier.push(new Point(nx, ny));
            }
        }
        assert !points.isEmpty();
        builder.add(new Region(color, points));
    }
    return builder.build();
}

From source file:org.apache.aurora.scheduler.base.Numbers.java

/**
 * Converts a set of integers into a set of contiguous closed ranges that equally represent the
 * input integers.//from  w  w  w .ja va2 s.co  m
 * <p>
 * The resulting ranges will be in ascending order.
 * <p>
 * TODO(wfarner): Change this to return a canonicalized RangeSet.
 *
 * @param values Values to transform to ranges.
 * @return Closed ranges with identical members to the input set.
 */
public static Set<Range<Integer>> toRanges(Iterable<Integer> values) {
    ImmutableSet.Builder<Range<Integer>> builder = ImmutableSet.builder();

    PeekingIterator<Integer> iterator = Iterators.peekingIterator(Sets.newTreeSet(values).iterator());

    // Build ranges until there are no numbers left.
    while (iterator.hasNext()) {
        // Start a new range.
        int start = iterator.next();
        int end = start;
        // Increment the end until the range is non-contiguous.
        while (iterator.hasNext() && iterator.peek() == end + 1) {
            end++;
            iterator.next();
        }

        builder.add(Range.closed(start, end));
    }

    return builder.build();
}

From source file:com.b2international.commons.dynamic.DynamicListImpl.java

public DynamicListImpl(List<?> list) {

    valueList = ImmutableList.copyOf(Lists.transform(list, valueConverter));

    ImmutableSet.Builder<String> builder = ImmutableSet.builder();
    for (int i = 0; i < valueList.size(); i++)
        builder.add(Integer.toString(i));
    keySet = builder.build();/*w w w  .j ava2  s.c o  m*/
}

From source file:org.androidtransfuse.transaction.TransactionProcessorComposite.java

@Override
public ImmutableSet<Exception> getErrors() {
    ImmutableSet.Builder<Exception> exceptions = ImmutableSet.builder();
    for (TransactionProcessor processor : processors) {
        exceptions.addAll(processor.getErrors());
    }/*from w w  w  . j a  v  a  2  s  .  c  om*/
    return exceptions.build();
}

From source file:com.facebook.buck.rules.coercer.SetTypeCoercer.java

@Override
public ImmutableSet<T> coerce(BuildRuleResolver buildRuleResolver, ProjectFilesystem filesystem,
        Path pathRelativeToProjectRoot, Object object) throws CoerceFailedException {
    ImmutableSet.Builder<T> builder = ImmutableSet.builder();
    fill(buildRuleResolver, filesystem, pathRelativeToProjectRoot, builder, object);
    return builder.build();
}

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

public InjectionSignatureMatcherBuilder byType(ASTType... type) {
    ImmutableSet.Builder<ASTType> builder = ImmutableSet.builder();
    if (type != null) {
        for (ASTType astType : type) {
            builder.add(astType);/*  w  w  w  .jav a2 s .c  o  m*/
        }
    }
    return byType(builder.build());
}

From source file:be.nbb.sdmx.bancaditalia.SdmxConnectionImpl.java

@Override
final public Set<Dataflow> getDataflows() throws IOException {
    ImmutableSet.Builder<Dataflow> result = ImmutableSet.builder();
    for (it.bancaditalia.oss.sdmx.api.Dataflow o : loadDataFlows().values()) {
        result.add(Util.toDataflow(o));
    }/*from w ww  .j a v  a2s  . com*/
    return result.build();
}

From source file:com.b2international.snowowl.snomed.datastore.index.interest.SearchProfile.java

private static Iterable<SearchProfileRule> getPreferencesRules(final Preferences profileNode)
        throws BackingStoreException {
    checkNotNull(profileNode, "profileNode");

    final ImmutableSet.Builder<SearchProfileRule> preferencesRulesBuilder = ImmutableSet.builder();

    for (final String childName : profileNode.childrenNames()) {
        preferencesRulesBuilder.add(new SearchProfileRule(profileNode.node(childName)));
    }//from  www  . j  a  v  a2 s .c o  m

    return preferencesRulesBuilder.build();
}

From source file:com.spotify.heroic.common.SelectedGroup.java

@Override
public Groups groups() {
    final ImmutableSet.Builder<String> groups = ImmutableSet.builder();

    for (final T member : members) {
        groups.addAll(member.groups());/*w ww .ja v a  2 s . com*/
    }

    return new Groups(groups.build());
}