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:es.udc.pfc.gamelib.chess.pieces.ChessPawn.java

@Override
public final ImmutableSet<Position> getStandardMoves(final ChessBoard board) {
    final ImmutableSet.Builder<Position> moves = ImmutableSet.builder();

    final int s = getColor() == ChessColor.WHITE ? 1 : -1;

    final Position f = board.getPositionFor(this).relative(0, s);
    if (board.isValidPosition(f) && !board.isPieceAt(f)) {
        moves.add(f);//from  ww  w.  ja  va 2 s.c  om
    }

    final Position d1 = board.getPositionFor(this).relative(-1, s);
    if (board.isValidPosition(d1) && board.isPieceAt(d1) && isEnemy(board.getPieceAt(d1))) {
        moves.add(d1);
    }

    final Position d2 = board.getPositionFor(this).relative(+1, s);
    if (board.isValidPosition(d2) && board.isPieceAt(d2) && isEnemy(board.getPieceAt(d2))) {
        moves.add(d2);
    }

    return moves.build();
}

From source file:org.opendaylight.controller.netconf.impl.osgi.NetconfOperationServiceSnapshotImpl.java

public NetconfOperationServiceSnapshotImpl(final Set<NetconfOperationServiceFactory> factories,
        final String sessionIdForReporting) {
    final Builder<NetconfOperationService> b = ImmutableSet.builder();
    netconfSessionIdForReporting = sessionIdForReporting;
    for (NetconfOperationServiceFactory factory : factories) {
        b.add(factory.createService(netconfSessionIdForReporting));
    }/*w  w  w  . j  av  a 2s.  c o m*/
    this.services = b.build();
}

From source file:com.spotify.heroic.metadata.FindSeries.java

public static Collector<FindSeries, FindSeries> reduce(final OptionalLimit limit) {
    return results -> {
        final List<RequestError> errors = new ArrayList<>();
        final ImmutableSet.Builder<Series> series = ImmutableSet.builder();
        boolean limited = false;

        for (final FindSeries result : results) {
            errors.addAll(result.errors);
            series.addAll(result.series);
            limited |= result.limited;/*w  w w  .  j  a v  a 2  s  .  c om*/
        }

        final Set<Series> s = series.build();
        return new FindSeries(errors, limit.limitSet(s), limited || limit.isGreater(s.size()));
    };
}

From source file:io.prestosql.sql.planner.SymbolsExtractor.java

public static Set<Symbol> extractUniqueNonRecursive(PlanNode node) {
    ImmutableSet.Builder<Symbol> uniqueSymbols = ImmutableSet.builder();
    extractExpressionsNonRecursive(node).forEach(expression -> uniqueSymbols.addAll(extractUnique(expression)));

    return uniqueSymbols.build();
}

From source file:adept.common.ScriptVariable.java

/**
 * Creates a script variable with only a single allowable type.
 * @param type May not be {@code null}./*  w ww .  j  a  v  a 2  s  .c om*/
 */
public static ScriptVariable createOfType(IType type) {
    checkArgument(type != null);
    ImmutableSet<IType> types = new ImmutableSet.Builder<IType>().add(type).build();
    return new ScriptVariable(types);
}

From source file:com.facebook.buck.rules.AbstractTestRuleFactory.java

@Override
public T newInstance(BuildRuleFactoryParams params) throws NoSuchBuildTargetException {
    T builder = super.newInstance(params);

    // labels//from ww w  .  j av  a  2s. c om
    if (builder instanceof LabelsAttributeBuilder) {
        List<String> rawLabels = params.getOptionalListAttribute("labels");
        ImmutableSet.Builder<Label> labelBuilder = new ImmutableSet.Builder<>();
        for (String rawLabel : rawLabels) {
            Label label = new Label(rawLabel);
            labelBuilder.add(label);
        }
        ((LabelsAttributeBuilder) builder).setLabels(labelBuilder.build());
    }

    return builder;
}

From source file:org.seedstack.seed.web.security.internal.shiro.AbstractInjectionProvider.java

public AbstractInjectionProvider(Key<T> key) {
    this.key = key;
    constructorInjectionPoint = InjectionPoint.forConstructorOf(key.getTypeLiteral());

    ImmutableSet.Builder<Dependency<?>> dependencyBuilder = ImmutableSet.builder();
    dependencyBuilder.addAll(constructorInjectionPoint.getDependencies());
    for (InjectionPoint injectionPoint : InjectionPoint.forInstanceMethodsAndFields(key.getTypeLiteral())) {
        dependencyBuilder.addAll(injectionPoint.getDependencies());
    }/* w w  w.  j a v  a  2 s. c o  m*/
    this.dependencies = dependencyBuilder.build();
}

From source file:com.facebook.buck.apple.simulator.AppleSimulatorDiscovery.java

/**
 * Discovers information about Apple simulators installed on the system.
 *///from w  w  w  .  j  ava 2  s  .  c o  m
public static ImmutableSet<AppleSimulator> discoverAppleSimulators(ProcessExecutor processExecutor,
        Path simctlPath) throws InterruptedException, IOException {
    LOG.debug("Running xcrun simctl list to get list of simulators");
    ProcessExecutorParams processExecutorParams = ProcessExecutorParams.builder()
            .setCommand(ImmutableList.of(simctlPath.toString(), "list")).build();
    ProcessExecutor.LaunchedProcess simctlListProcess = processExecutor.launchProcess(processExecutorParams);
    ImmutableSet.Builder<AppleSimulator> simulatorsBuilder = ImmutableSet.builder();

    try (InputStreamReader stdoutReader = new InputStreamReader(simctlListProcess.getInputStream(),
            StandardCharsets.UTF_8)) {
        LOG.debug("Parsing output of xcrun simctl list...");
        SimctlListOutputParsing.parseOutputFromReader(stdoutReader, simulatorsBuilder);
    }

    ProcessExecutor.Result result = processExecutor.waitForLaunchedProcess(simctlListProcess);
    if (result.getExitCode() != 0) {
        throw new IOException(result.getMessageForUnexpectedResult("simctl list"));
    }
    ImmutableSet<AppleSimulator> simulators = simulatorsBuilder.build();
    LOG.debug("Discovered simulators: %s", simulators);
    return simulators;
}

From source file:com.facebook.buck.cxx.AbstractNativeLinkableInput.java

/**
 * Combine, in order, several {@link NativeLinkableInput} objects into a single one.
 *//*from   w  ww  .  j  a v a2 s  .  com*/
public static NativeLinkableInput concat(Iterable<NativeLinkableInput> items) {
    ImmutableList.Builder<Arg> args = ImmutableList.builder();
    ImmutableSet.Builder<FrameworkPath> frameworks = ImmutableSet.builder();
    ImmutableSet.Builder<FrameworkPath> libraries = ImmutableSet.builder();

    for (NativeLinkableInput item : items) {
        args.addAll(item.getArgs());
        frameworks.addAll(item.getFrameworks());
        libraries.addAll(item.getLibraries());
    }

    return NativeLinkableInput.of(args.build(), frameworks.build(), libraries.build());
}

From source file:org.gradle.internal.ImmutableActionSet.java

/**
 * Creates an action set./* ww w  . ja  va 2s .  c o m*/
 */
public static <T> ImmutableActionSet<T> of(Action<? super T>... actions) {
    if (actions.length == 0) {
        return empty();
    }

    ImmutableSet.Builder<Action<? super T>> builder = ImmutableSet.builder();
    for (Action<? super T> action : actions) {
        if (action == Actions.DO_NOTHING || (action instanceof EmptySet)) {
            continue;
        }
        unpackAction(action, builder);
    }
    ImmutableSet<Action<? super T>> set = builder.build();
    return fromActions(set);
}