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

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

Introduction

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

Prototype

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

Source Link

Usage

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();
}