List of usage examples for com.google.common.collect ImmutableList builder
public static <E> Builder<E> builder()
From source file:com.facebook.presto.orc.OrcDataSourceUtils.java
/** * Merge disk ranges that are closer than {@code maxMergeDistance}. *///from ww w . j a v a 2s . c om public static List<DiskRange> mergeAdjacentDiskRanges(Iterable<DiskRange> diskRanges, DataSize maxMergeDistance, DataSize maxReadSize) { // sort ranges by start offset List<DiskRange> ranges = newArrayList(diskRanges); Collections.sort(ranges, new Comparator<DiskRange>() { @Override public int compare(DiskRange o1, DiskRange o2) { return Long.compare(o1.getOffset(), o2.getOffset()); } }); // merge overlapping ranges long maxReadSizeBytes = maxReadSize.toBytes(); long maxMergeDistanceBytes = maxMergeDistance.toBytes(); ImmutableList.Builder<DiskRange> result = ImmutableList.builder(); DiskRange last = ranges.get(0); for (int i = 1; i < ranges.size(); i++) { DiskRange current = ranges.get(i); DiskRange merged = last.span(current); if (merged.getLength() <= maxReadSizeBytes && last.getEnd() + maxMergeDistanceBytes >= current.getOffset()) { last = merged; } else { result.add(last); last = current; } } result.add(last); return result.build(); }
From source file:com.facebook.presto.sql.planner.ExpressionExtractor.java
public static List<Expression> extractExpressions(PlanNode plan, Lookup lookup) { requireNonNull(plan, "plan is null"); requireNonNull(lookup, "lookup is null"); ImmutableList.Builder<Expression> expressionsBuilder = ImmutableList.builder(); plan.accept(new Visitor(true, lookup), expressionsBuilder); return expressionsBuilder.build(); }
From source file:org.apache.james.jmap.MessageAppender.java
public static List<ComposedMessageId> fillMailbox(MailboxProbe mailboxProbe, String user, String mailbox) { ImmutableList.Builder<ComposedMessageId> insertedMessages = ImmutableList.builder(); try {//from www . ja v a 2 s . co m for (int i = 0; i < 1000; ++i) { String mailContent = "Subject: test\r\n\r\ntestmail" + String.valueOf(i); ByteArrayInputStream messagePayload = new ByteArrayInputStream( mailContent.getBytes(StandardCharsets.UTF_8)); insertedMessages.add(mailboxProbe.appendMessage(user, MailboxPath.forUser(user, mailbox), messagePayload, new Date(), false, new Flags())); } } catch (MailboxException ignored) { //we expect an exception to be thrown because of quota reached } return insertedMessages.build(); }
From source file:com.google.devtools.j2objc.types.IOSMethod.java
public static IOSMethod create(String s) { if (s.endsWith(";")) { s = s.substring(0, s.length() - 1); }//from www .j a v a 2 s . co m int i = s.indexOf(' '); String className = s.substring(0, i); s = s.substring(i + 1); ImmutableList.Builder<IOSParameter> parameters = ImmutableList.builder(); String name = s; boolean varArgs = false; i = s.indexOf(':'); if (i > 0) { // if there are parameters name = s.substring(0, i); String[] argDefs = splitParameterString(s); for (i = 0; i < argDefs.length; i++) { IOSParameter param = new IOSParameter(argDefs[i], i); parameters.add(param); if (param.isVarArgs()) { varArgs = true; break; } } } return new IOSMethod(name, className, parameters.build(), varArgs); }
From source file:vazkii.botania.api.recipe.RecipePetals.java
public RecipePetals(ItemStack output, Object... inputs) { this.output = output; ImmutableList.Builder<Object> inputsToSet = ImmutableList.builder(); for (Object obj : inputs) { if (obj instanceof String || obj instanceof ItemStack) inputsToSet.add(obj);//from www .j a va 2 s .c om else throw new IllegalArgumentException("Invalid input"); } this.inputs = inputsToSet.build(); }
From source file:com.squareup.wire.schema.Type.java
static ImmutableList<Type> fromElements(String packageName, ImmutableList<TypeElement> elements) { ImmutableList.Builder<Type> types = new ImmutableList.Builder<>(); for (TypeElement element : elements) { ProtoType protoType = ProtoType.get(packageName, element.name()); types.add(Type.get(packageName, protoType, element)); }//from w w w. j a v a 2 s . c o m return types.build(); }
From source file:de.se_rwth.langeditor.util.antlr.ParseTreeSearch.java
public static ImmutableList<ParseTree> getContainingParseTrees(ParseTree tree, Interval interval) { checkArgument(tokenInterval(tree).properlyContains(interval), "The interval " + interval + " can't fit into the interval " + tokenInterval(tree)); Builder<ParseTree> builder = ImmutableList.builder(); builder.add(tree);/*from ww w .j a v a 2 s.c o m*/ Optional<ParseTree> subTree = getSubTreeThatContainsInterval(tree, interval); while (subTree.isPresent()) { builder.add(subTree.get()); subTree = getSubTreeThatContainsInterval(subTree.get(), interval); } return builder.build(); }
From source file:suneido.database.immudb.Columns.java
ImmutableList<Integer> nums(String s) { ImmutableList.Builder<Integer> builder = ImmutableList.builder(); for (String name : commaSplitter(s)) builder.add(ck_find(name).field); return builder.build(); }
From source file:com.fitbur.core.guava.collect.provider.ImmutableListBuilder.java
@Override public ImmutableList.Builder provide() { return new ImmutableList.Builder(); }
From source file:com.splicemachine.orc.OrcDataSourceUtils.java
/** * Merge disk ranges that are closer than {@code maxMergeDistance}. *///from w w w. j ava 2s . c om public static List<DiskRange> mergeAdjacentDiskRanges(Collection<DiskRange> diskRanges, DataSize maxMergeDistance, DataSize maxReadSize) { // sort ranges by start offset List<DiskRange> ranges = new ArrayList<>(diskRanges); Collections.sort(ranges, new Comparator<DiskRange>() { @Override public int compare(DiskRange o1, DiskRange o2) { return Long.compare(o1.getOffset(), o2.getOffset()); } }); // merge overlapping ranges long maxReadSizeBytes = maxReadSize.toBytes(); long maxMergeDistanceBytes = maxMergeDistance.toBytes(); ImmutableList.Builder<DiskRange> result = ImmutableList.builder(); DiskRange last = ranges.get(0); for (int i = 1; i < ranges.size(); i++) { DiskRange current = ranges.get(i); DiskRange merged = last.span(current); if (merged.getLength() <= maxReadSizeBytes && last.getEnd() + maxMergeDistanceBytes >= current.getOffset()) { last = merged; } else { result.add(last); last = current; } } result.add(last); return result.build(); }