List of usage examples for com.google.common.collect ImmutableSet builder
public static <E> Builder<E> builder()
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()); }