Java 类java.util.function.Supplier 实例源码

项目:incubator-netbeans    文件:ClassPathProviderImpl.java   
SourceLevelSelector(
        @NonNull final PropertyEvaluator eval,
        @NonNull final String sourceLevelPropName,
        @NonNull final List<? extends Supplier<? extends ClassPath>> cpFactories) {
    Parameters.notNull("eval", eval);   //NOI18N
    Parameters.notNull("sourceLevelPropName", sourceLevelPropName); //NOI18N
    Parameters.notNull("cpFactories", cpFactories); //NOI18N
    if (cpFactories.size() != 2) {
        throw new IllegalArgumentException("Invalid classpaths: " + cpFactories);  //NOI18N
    }
    for (Supplier<?> f : cpFactories) {
        if (f == null) {
            throw new NullPointerException("Classpaths contain null: " + cpFactories);  //NOI18N
        }
    }
    this.eval = eval;
    this.sourceLevelPropName = sourceLevelPropName;
    this.cpfs = cpFactories;
    this.listeners = new PropertyChangeSupport(this);
    this.cps = new ClassPath[2];
    this.eval.addPropertyChangeListener(WeakListeners.propertyChange(this, this.eval));
}
项目:grooves    文件:Utils.java   
/**
 * Computes applicable events.
 *
 * @param <AggregateT>           The aggregate over which the query executes
 * @param <EventIdT>             The type of the {@link EventT}'s id field
 * @param <EventT>               The type of the Event
 * @param <SnapshotIdT>          The type of the {@link SnapshotT}'s id field
 * @param <SnapshotT>            The type of the Snapshot
 * @param forwardOnlyEvents      Known forward only events
 * @param executor               An instance of Executor
 * @param snapshotAndEventsSince Events to use if forwardOnlyEvents is empty
 *
 * @return events that can be applied.
 */
public static <
        AggregateT,
        EventIdT,
        EventT extends BaseEvent<AggregateT, EventIdT, EventT>,
        SnapshotIdT,
        SnapshotT extends BaseSnapshot<AggregateT, SnapshotIdT, EventIdT, EventT>
        > Flowable<EventT> getApplicableEvents(
        Flowable<EventT> forwardOnlyEvents, Executor executor,
        Supplier<Flowable<Pair<SnapshotT, List<EventT>>>> snapshotAndEventsSince) {
    return forwardOnlyEvents
            .filter(e -> e instanceof Deprecates)
            .toList()
            .toFlowable()
            .flatMap(list -> list.isEmpty() ?
                    forwardOnlyEvents :
                    snapshotAndEventsSince.get().flatMap(p ->
                            getForwardOnlyEvents(p.getSecond(), executor, () ->
                                    error(new GroovesException(
                                            "Couldn't apply deprecates events")))
                    ));
}
项目:qpp-conversion-tool    文件:CpcQualityMeasureIdValidator.java   
/**
 * Method for Performance Rate Uuid validations
 *
 * @param check a property existence check
 * @param keys that identify measures
 * @return a callback / consumer that will perform a measure specific validation against a given
 * node.
 */
private Consumer<Node> makePerformanceRateUuidValidator(Supplier<String> check, String... keys) {
    return node -> {
        if (check.get() != null) {
            Predicate<Node> childUuidFinder =
                    makeUuidChildFinder(check, ErrorCode.QUALITY_MEASURE_ID_MISSING_SINGLE_PERFORMANCE_RATE, PERFORMANCE_RATE_ID);

            Node existingUuidChild = node
                    .getChildNodes(TemplateId.PERFORMANCE_RATE_PROPORTION_MEASURE)
                    .filter(childUuidFinder)
                    .findFirst()
                    .orElse(null);

            if (existingUuidChild == null) {
                addMeasureConfigurationValidationMessage(check, keys, node);
            }
        }
    };
}
项目:trellis    文件:IdServiceTest.java   
@Test
public void testGenerator() {
    final String prefix1 = "http://example.org/";
    final String prefix2 = "trellis:repository/a/b/c/";
    final IdentifierService svc = new UUIDGenerator();
    final Supplier<String> gen1 = svc.getSupplier(prefix1);
    final Supplier<String> gen2 = svc.getSupplier(prefix2);

    final String id1 = gen1.get();
    final String id2 = gen2.get();

    assertTrue(id1.startsWith(prefix1));
    assertFalse(id1.equals(prefix1));
    assertTrue(id2.startsWith(prefix2));
    assertFalse(id2.equals(prefix2));
}
项目:commercetools-sync-java    文件:ITUtils.java   
/**
 * Applies the {@code pageMapper} function on each page fetched from the supplied {@code queryRequestSupplier} on
 * the supplied {@code ctpClient}.
 *
 * @param ctpClient            defines the CTP project to apply the query on.
 * @param queryRequestSupplier defines a supplier which, when executed, returns the query that should be made on
 *                             the CTP project.
 * @param resourceMapper       defines a mapper function that should be applied on each resource in the fetched page
 *                             from the query on the specified CTP project.
 */
public static <T extends Resource, C extends QueryDsl<T, C>> void queryAndApply(
    @Nonnull final SphereClient ctpClient,
    @Nonnull final Supplier<QueryDsl<T, C>> queryRequestSupplier,
    @Nonnull final Function<T, SphereRequest<T>> resourceMapper) {

    final Function<List<T>, Stream<CompletableFuture<T>>> pageMapper =
        pageElements -> pageElements.stream()
                                    .map(resourceMapper)
                                    .map(ctpClient::execute)
                                    .map(CompletionStage::toCompletableFuture);

    CtpQueryUtils.queryAll(ctpClient, queryRequestSupplier.get(), pageMapper)
                 .thenApply(list -> list.stream().flatMap(Function.identity()))
                 .thenApply(stream -> stream.toArray(CompletableFuture[]::new))
                 .thenCompose(CompletableFuture::allOf)
                 .toCompletableFuture().join();
}
项目:openjdk-jdk10    文件:UnmodifiableMapEntrySet.java   
@DataProvider(name="maps")
static Object[][] mapCases() {
    if (collections != null) {
        return collections;
    }

    List<Object[]> cases = new ArrayList<>();
    for (int size : new int[] {1, 2, 16}) {
        cases.add(new Object[] {
                String.format("new HashMap(%d)", size),
                (Supplier<Map<Integer, Integer>>)
                () -> Collections.unmodifiableMap(fillMap(size, new HashMap<>())) });
        cases.add(new Object[] {
                String.format("new TreeMap(%d)", size),
                (Supplier<Map<Integer, Integer>>)
                () -> Collections.unmodifiableSortedMap(fillMap(size, new TreeMap<>())) });
    }

    return cases.toArray(new Object[0][]);
}
项目:domino    文件:EndpointsRegisterMethodWriter.java   
@Override
protected void registerItem(EndpointsEntry entry, MethodSpec.Builder methodBuilder) {
    final FullClassName handlerEndpoint = new FullClassName(entry.element.fullQualifiedNoneGenericName() + "EndpointHandler");
    String path = entry.element.getAnnotation(Handler.class).value();

    ClassName handlerEndpointType = ClassName.get(handlerEndpoint.asPackage(), handlerEndpoint.asSimpleName());
    MethodSpec getMethod = MethodSpec.methodBuilder("get")
            .addAnnotation(Override.class)
            .addModifiers(Modifier.PUBLIC)
            .returns(handlerEndpointType)
            .addStatement("return new $T()", handlerEndpointType)
            .build();

    TypeSpec factoryType = TypeSpec.anonymousClassBuilder("")
            .addSuperinterface(ParameterizedTypeName.get(ClassName.get(Supplier.class), handlerEndpointType.box()))
            .addMethod(getMethod)
            .build();
    methodBuilder.addStatement("registry.registerEndpoint(\"" + path + "\", $L)", factoryType);
}
项目:openjdk-jdk10    文件:NetworkInterfaceStreamTest.java   
@Test
public void testSubNetworkInterfaces() throws SocketException {
    Supplier<Stream<NetworkInterface>> ss = () -> {
        try {
            return allNetworkInterfaces();
        }
        catch (SocketException e) {
            throw new RuntimeException(e);
        }
    };

    Collection<NetworkInterface> expected = getAllNetworkInterfaces();
    withData(TestData.Factory.ofSupplier("All network interfaces", ss))
            .stream(s -> s)
            .expectedResult(expected)
            .exercise();
}
项目:openjdk-jdk10    文件:NetworkInterfaceStreamTest.java   
@Test
public void testNetworkInterfaces() throws SocketException {
    Supplier<Stream<NetworkInterface>> ss = () -> {
        try {
            return NetworkInterface.networkInterfaces()
                    .filter(ni -> isIncluded(ni));
        }
        catch (SocketException e) {
            throw new RuntimeException(e);
        }
    };

    Collection<NetworkInterface> enums = Collections.list(NetworkInterface.getNetworkInterfaces());
    Collection<NetworkInterface> expected = new ArrayList<>();
    enums.forEach(ni -> {
        if (isIncluded(ni)) {
            expected.add(ni);
        }
    });
    withData(TestData.Factory.ofSupplier("Top-level network interfaces", ss))
            .stream(s -> s)
            .expectedResult(expected)
            .exercise();
}
项目:stvs    文件:SmtEncoderTest.java   
@Test(expected = IllegalStateException.class)
public void testMismatchingUsedVariablesAndVariableDefinitions() {
  Supplier<InputStream> sourceFile = () -> SmtEncoderTest.class.getResourceAsStream(
      "spec_freevariable.xml");

  ValidSpecification spec = TestUtils.importValidSpec(sourceFile.get(), new TypeEnum(
      "Color",
      Arrays.asList("red", "green", "blue")));
  List<ValidFreeVariable> freeVariables = TestUtils.importValidFreeVariables(sourceFile.get(),
      new TypeEnum("Color",
          Arrays.asList("red", "green", "blue")));

  int maxDuration = 5;


  SmtEncoder smtEncoder = new SmtEncoder(maxDuration, spec, Collections.emptyList());
  SmtModel output = smtEncoder.getConstraint();
  List<SExpression> constraints = output.getGlobalConstraints();
  Collection<SExpression> definitions = output.getVariableDefinitions();



}
项目:redirector    文件:RedirectorEngineProvider.java   
private void buildRefreshModelChain() {
    Supplier<Set<StackData>> stacksSupplier = new DataSourceStacksSupplier(commonDaoFacade, appName);
    TaskFactory taskFactory = new TaskFactory(DataSource.DATA_STORE);

    refreshModelChain = new TaskChain( new InitDataStoreTask(modelFacade))
        .and(taskFactory.newGetFlavorRules())
        .and(taskFactory.newGetUrlRules())
        .and(taskFactory.newGetWhitelistedStacks())
        .and(taskFactory.newGetNamespacedLists())
        .and(taskFactory.newGetStacksWithHostsTask(stacksSupplier))
        .and(taskFactory.newBackupStacksInMemory())
        .and(taskFactory.newValidateAbleToRedirectTask())
        .and(taskFactory.newApplyNewModelTask());

    if (isStaticDiscoveryNeededForApp.test(appName)) {
        refreshModelChain.and(new TriggerManualBackupTask(stacksBackupManager));
    }

    refreshModelChain.and(new BackupNewModelTask(flavorRulesHolder, whiteListHolder, urlRulesHolder, modelMetadataHolder));
}
项目:https-github.com-RichardWarburton-java-8-Lambdas-exercises    文件:RefactorTest.java   
@Test
public void allStringJoins() {
    List<Supplier<Refactor.LongTrackFinder>> finders = Arrays.<Supplier<Refactor.LongTrackFinder>>asList(
        Refactor.Step0::new,
        Refactor.Step1::new,
        Refactor.Step2::new,
        Refactor.Step3::new,
        Refactor.Step4::new
    );

    List<Album> albums = unmodifiableList(asList(SampleData.aLoveSupreme, SampleData.sampleShortAlbum));
    List<Album> noTracks = unmodifiableList(asList(SampleData.sampleShortAlbum));

    finders.forEach(finder -> {
        System.out.println("Testing: " + finder.toString());

        Refactor.LongTrackFinder longTrackFinder = finder.get();
        Set<String> longTracks = longTrackFinder.findLongTracks(albums);

        assertEquals("[Acknowledgement, Resolution]", longTracks.toString());

        longTracks = longTrackFinder.findLongTracks(noTracks);

        assertTrue(longTracks.isEmpty());
    });
}
项目:java-threading    文件:JoinableFutureTest.java   
@Test
public void testUnawaitedBackgroundWorkShouldCompleteWithoutSyncBlock() throws Exception {
    CompletableFuture<Void> unawaitedWorkCompleted = new CompletableFuture<>();
    Supplier<CompletableFuture<Void>> otherAsyncMethod = ExecutionContext.wrap(() -> {
        StrongBox<CompletableFuture<Void>> result = new StrongBox<>();
        Consumer<Void> implementation = ignored -> result.value = Async.awaitAsync(
            // this posts to the JoinableTask.threadPoolQueue
            Async.yieldAsync(),
            () -> Async.awaitAsync(
                // this should schedule directly to the .NET ThreadPool.
                Async.yieldAsync(),
                () -> {
                    unawaitedWorkCompleted.complete(null);
                    return Futures.completedNull();
                }));

        ExecutionContext.run(ExecutionContext.capture(), implementation, null);
        return result.value;
    });

    CompletableFuture<Void> bkgrndThread = Futures.runAsync(() -> {
        asyncPump.run(() -> {
            TplExtensions.forget(otherAsyncMethod.get());
            return Futures.completedNull();
        });
    });

    bkgrndThread.join();
    unawaitedWorkCompleted.get(EXPECTED_TIMEOUT.toMillis(), TimeUnit.MILLISECONDS);
}
项目:manifold    文件:DefaultManifoldHost.java   
@Override
public void maybeAssignManifoldType( ClassLoader loader, String fqn, URL url, BiConsumer<String, Supplier<byte[]>> assigner )
{
  Set<ITypeManifold> sps = getCurrentModule().findTypeManifoldsFor( fqn );
  if( !sps.isEmpty() )
  {
    assigner.accept( fqn, null );
  }
}
项目:pac4j-async    文件:VertxAsyncTestBase.java   
protected <T> CompletableFuture<T> delayedException (final long delay, final Supplier<Exception> exceptionSupplier) {
    final CompletableFuture<T> future = new CompletableFuture<>();
    rule.vertx().setTimer(delay, l -> rule.vertx().runOnContext(v -> {
        future.completeExceptionally(exceptionSupplier.get());
    }));
    return future;
}
项目:ProjectAres    文件:Collectors.java   
public static <T, K, V> Collector<T, ?, ImmutableMap<K, V>> toImmutableMap(Function<? super T, ? extends K> keyMapper,
                                                                           Function<? super T, ? extends V> valueMapper) {
    return new Collector<T, ImmutableMap.Builder<K, V>, ImmutableMap<K, V>>() {
        @Override
        public Supplier<ImmutableMap.Builder<K, V>> supplier() {
            return ImmutableMap::builder;
        }

        @Override
        public BiConsumer<ImmutableMap.Builder<K, V>, T> accumulator() {
            return (builder, t) -> {
                final V value = valueMapper.apply(t);
                if(value != null) {
                    builder.put(keyMapper.apply(t), value);
                }
            };
        }

        @Override
        public BinaryOperator<ImmutableMap.Builder<K, V>> combiner() {
            return (b1, b2) -> {
                b1.putAll(b2.build());
                return b1;
            };
        }

        @Override
        public Function<ImmutableMap.Builder<K, V>, ImmutableMap<K, V>> finisher() {
            return ImmutableMap.Builder::build;
        }

        @Override
        public Set<Characteristics> characteristics() {
            return emptySet();
        }
    };
}
项目:openjdk-jdk10    文件:T8134329.java   
public static void main(String[] args) {
    Supplier<String> s1 = new T8134329() { }::m;
    assertEquals(s1.get(), "m");
    Supplier<String> s2 = new T8134329() { }::g;
    assertEquals(s2.get(), "g");
    Supplier<String> s3 = new T8134329() { }::m;
    assertEquals(s3.get(), "m");
}
项目:openjdk-jdk10    文件:SimpleConsoleLogger.java   
@Override
public final void logp(PlatformLogger.Level level, String sourceClass,
        String sourceMethod, Throwable thrown, Supplier<String> msgSupplier) {
    if (isLoggable(level)) {
        publish(getCallerInfo(sourceClass, sourceMethod), logLevel(level), msgSupplier.get(), thrown);
    }
}
项目:incubator-netbeans    文件:JShellTool.java   
/**
 * Convert user arguments to a Stream of snippets referenced by those
 * arguments (or lack of arguments).
 *
 * @param snippets the base list of possible snippets
 * @param defFilter the filter to apply to the arguments if no argument
 * @param rawargs the user's argument to the command, maybe be the empty
 * string
 * @return a Stream of referenced snippets or null if no matches are found
 */
private <T extends Snippet> Stream<T> argsOptionsToSnippets(Supplier<Stream<T>> snippetSupplier,
        Predicate<Snippet> defFilter, String rawargs, String cmd) {
    ArgTokenizer at = new ArgTokenizer(cmd, rawargs.trim());
    at.allowedOptions("-all", "-start");
    List<String> args = new ArrayList<>();
    String s;
    while ((s = at.next()) != null) {
        args.add(s);
    }
    if (!checkOptionsAndRemainingInput(at)) {
        return null;
    }
    if (at.optionCount() > 0 && args.size() > 0) {
        errormsg("jshell.err.may.not.specify.options.and.snippets", at.whole());
        return null;
    }
    if (at.optionCount() > 1) {
        errormsg("jshell.err.conflicting.options", at.whole());
        return null;
    }
    if (at.hasOption("-all")) {
        // all snippets including start-up, failed, and overwritten
        return snippetSupplier.get();
    }
    if (at.hasOption("-start")) {
        // start-up snippets
        return snippetSupplier.get()
                .filter(this::inStartUp);
    }
    if (args.isEmpty()) {
        // Default is all active user snippets
        return snippetSupplier.get()
                .filter(defFilter);
    }
    return argsToSnippets(snippetSupplier, args);
}
项目:swblocks-decisiontree    文件:DomainSerialiserTest.java   
@Test
public void convertStringToDateRangeDriverAndTestDates() {
    final DriverCache cache = new DriverCache();
    final String testString = "DR:2017-07-04T16:00:00.000Z|2017-07-10T16:00:00.000Z";

    final Supplier<InputDriver> rangeSupplier = DomainSerialiser.createInputDriver(testString, cache);
    final InputDriver dateRangeDriver = rangeSupplier.get();
    assertNotNull(dateRangeDriver);
    assertThat(dateRangeDriver.getType(), is(InputValueType.DATE_RANGE));
    assertThat(dateRangeDriver.getValue(), is(testString));
    assertThat(dateRangeDriver.evaluate("2017-07-04T16:00:00.000Z"), is(true));
    assertThat(dateRangeDriver.evaluate("2017-07-10T16:00:00.000Z"), is(false));
}
项目:openjdk-jdk10    文件:LoggerFinderBackendTest.java   
public void testLevel(Levels level, java.lang.System.Logger logger,
        Supplier<String> msg, Throwable thrown) {
    Runnable test = () -> level.level(logger, msg, thrown);
    Checker<BackendRecord, Level> check = (res, l) -> {
        checkRecord(level, res, logger.getName(), l, msg,
                    adaptor().getCallerClassName(level, Levels.class.getName()),
                    adaptor().getCallerMethodName(level, "invoke"),
                    thrown, null);
        return null;
    };
    test("throw, msgSupplier", level, logger, test, check);
}
项目:helper    文件:SimpleChain.java   
@Override
public Chain<T> orElseGet(Predicate<? super T> test, Supplier<? extends T> failSupplier) {
    Preconditions.checkNotNull(test, "test");
    Preconditions.checkNotNull(failSupplier, "failSupplier");
    if (!test.test(object)) {
        this.object = failSupplier.get();
    }
    return this;
}
项目:jdk8u-jdk    文件:SpliteratorLateBindingFailFastTest.java   
@Test(dataProvider = "Source")
public <T> void lateBindingTestWithCharacteritics(String description, Supplier<Source<T>> ss) {
    Source<T> source = ss.get();
    Collection<T> c = source.asCollection();
    Spliterator<T> s = c.spliterator();
    s.characteristics();

    Set<T> r = new HashSet<>();
    s.forEachRemaining(r::add);

    assertEquals(r, new HashSet<>(c));
}
项目:incubator-ratis    文件:RaftServerImpl.java   
static void logAppendEntries(boolean isHeartbeat, Supplier<String> message) {
  if (isHeartbeat) {
    if (LOG.isTraceEnabled()) {
      LOG.trace("HEARTBEAT: " + message.get());
    }
  } else {
    if (LOG.isDebugEnabled()) {
      LOG.debug(message.get());
    }
  }
}
项目:datarouter    文件:JsonDatabeanTool.java   
private static <PK extends PrimaryKey<PK>,D extends Databean<PK,D>>
D databeanFromJson(Supplier<D> databeanSupplier, DatabeanFielder<PK,D> fielder, JsonObject json, boolean flatKey){
    if(json == null){
        return null;
    }
    D databean = databeanSupplier.get();
    JsonObject pkJson;
    if(flatKey){
        pkJson = json;
    }else{
        pkJson = json.getAsJsonObject(databean.getKeyFieldName());
    }
    primaryKeyFromJson(databean.getKey(), fielder.getKeyFielder(), pkJson);
    List<Field<?>> fields = fielder.getNonKeyFields(databean);
    for(Field<?> field : fields){
        String jsonFieldName = field.getKey().getColumnName();
        JsonElement jsonValue = json.get(jsonFieldName);
        if(jsonValue == null || jsonValue.isJsonNull()){// careful: only skip nulls, not empty strings
            continue;
        }
        String valueString;
        if(jsonValue.isJsonObject()){
            valueString = jsonValue.toString();
        }else{
            valueString = jsonValue.getAsString();
        }
        Object value = field.parseStringEncodedValueButDoNotSet(valueString);
        field.setUsingReflection(databean, value);
    }
    return databean;
}
项目:openjdk-jdk10    文件:NashornPrimitiveLinker.java   
/**
 * This implementation of type converter factory will pretty much allow implicit conversions of anything to anything
 * else that's allowed among JavaScript primitive types (string to number, boolean to string, etc.)
 * @param sourceType the type to convert from
 * @param targetType the type to convert to
 * @return a conditional converter from source to target type
 */
@Override
public GuardedInvocation convertToType(final Class<?> sourceType, final Class<?> targetType, final Supplier<MethodHandles.Lookup> lookupSupplier) {
    final MethodHandle mh = JavaArgumentConverters.getConverter(targetType);
    if (mh == null) {
        if(targetType == Object.class && sourceType == void.class) {
            return VOID_TO_OBJECT;
        }
        return null;
    }

    return new GuardedInvocation(mh, canLinkTypeStatic(sourceType) ? null : GUARD_PRIMITIVE).asType(mh.type().changeParameterType(0, sourceType));
}
项目:cf-mta-deploy-service    文件:SystemParametersBuilder.java   
public SystemParametersBuilder(String platformName, String organization, String space, String user, String defaultDomain,
    PlatformType xsType, URL targetUrl, String authorizationEndpoint, String deployServiceUrl, int routerPort, boolean portBasedRouting,
    boolean reserveTemporaryRoutes, PortAllocator portAllocator, boolean useNamespaces, boolean useNamespacesForServices,
    DeployedMta deployedMta, int majorSchemaVersion, boolean areXsPlaceholdersSupported, XsPlaceholderResolver xsPlaceholderResolver,
    Supplier<String> timestampSupplier) {
    this(platformName, organization, space, user, defaultDomain, xsType, targetUrl, authorizationEndpoint, deployServiceUrl, routerPort,
        portBasedRouting, reserveTemporaryRoutes, portAllocator, useNamespaces, useNamespacesForServices, deployedMta,
        new CredentialsGenerator(), majorSchemaVersion, areXsPlaceholdersSupported, xsPlaceholderResolver, timestampSupplier);
}
项目:openjdk-jdk10    文件:ArgumentAttr.java   
/**
 * Process a method argument; this method allows the caller to specify a custom speculative attribution
 * logic (this is used e.g. for lambdas).
 */
@SuppressWarnings("unchecked")
<T extends JCExpression, Z extends ArgumentType<T>> void processArg(T that, Supplier<Z> argumentTypeFactory) {
    UniquePos pos = new UniquePos(that);
    Z cached = (Z)argumentTypeCache.get(pos);
    if (cached != null) {
        //dup existing speculative type
        setResult(that, cached.dup(that, env));
    } else {
        Z res = argumentTypeFactory.get();
        argumentTypeCache.put(pos, res);
        setResult(that, res);
    }
}
项目:Observables    文件:Binding.java   
/**
 * <p>Creates a binding using the passed supplier and list of dependencies.</p>
 *
 * <p>Note that this method requires manual implementation of the respective binding logic. For
 * most cases, however, the static methods provided by this interface do suffice however and
 * require far less manually programmed logic.</p>
 */
@Nonnull
static <V> Binding<V> create(@Nonnull Supplier<V> supplier,
    ReadOnlyObservable<?>... observables) {
  return new AbstractBinding<V>(new HashSet<>(Arrays.asList(observables))) {
    @Override
    protected V compute() {
      return supplier.get();
    }
  };
}
项目:BRjLibs    文件:AdvancedTriConsumer.java   
default AdvancedRunnable supply(Supplier<? extends T> supplier1, Supplier<? extends U> supplier2, Supplier<? extends V> supplier3) {
    Objects.requireNonNull(supplier1);
    Objects.requireNonNull(supplier2);
    Objects.requireNonNull(supplier3);

    return () -> accept(supplier1.get(), supplier2.get(), supplier3.get());
}
项目:jdk8u-jdk    文件:ReduceOps.java   
/**
 * Constructs a {@code TerminalOp} that implements a mutable reduce on
 * {@code double} values.
 *
 * @param <R> the type of the result
 * @param supplier a factory to produce a new accumulator of the result type
 * @param accumulator a function to incorporate an int into an
 *        accumulator
 * @param combiner a function to combine an accumulator into another
 * @return a {@code TerminalOp} implementing the reduction
 */
public static <R> TerminalOp<Double, R>
makeDouble(Supplier<R> supplier,
           ObjDoubleConsumer<R> accumulator,
           BinaryOperator<R> combiner) {
    Objects.requireNonNull(supplier);
    Objects.requireNonNull(accumulator);
    Objects.requireNonNull(combiner);
    class ReducingSink extends Box<R>
            implements AccumulatingSink<Double, R, ReducingSink>, Sink.OfDouble {
        @Override
        public void begin(long size) {
            state = supplier.get();
        }

        @Override
        public void accept(double t) {
            accumulator.accept(state, t);
        }

        @Override
        public void combine(ReducingSink other) {
            state = combiner.apply(state, other.state);
        }
    }
    return new ReduceOp<Double, R, ReducingSink>(StreamShape.DOUBLE_VALUE) {
        @Override
        public ReducingSink makeSink() {
            return new ReducingSink();
        }
    };
}
项目:elasticsearch_my    文件:TaskManagerTestCase.java   
AbstractTestNodesAction(Settings settings, String actionName, ThreadPool threadPool,
                        ClusterService clusterService, TransportService transportService, Supplier<NodesRequest> request,
                        Supplier<NodeRequest> nodeRequest) {
    super(settings, actionName, threadPool, clusterService, transportService,
            new ActionFilters(new HashSet<>()), new IndexNameExpressionResolver(Settings.EMPTY),
            request, nodeRequest, ThreadPool.Names.GENERIC, NodeResponse.class);
}
项目:jdk8u-jdk    文件:UnmodifiableMapEntrySet.java   
void testSpliterator(Supplier<Spliterator<Map.Entry<Integer, Integer>>> ss,
                     // Higher order function that given a spliterator returns a
                     // consumer for that spliterator which traverses elements
                     // using an EntryConsumer
                     Function<Spliterator<Map.Entry<Integer, Integer>>, Consumer<EntryConsumer>> sc) {
    testWithEntryConsumer(sc.apply(ss.get()));

    Spliterator<Map.Entry<Integer, Integer>> s = ss.get();
    Spliterator<Map.Entry<Integer, Integer>> split = s.trySplit();
    if (split != null) {
        testWithEntryConsumer(sc.apply(split));
        testWithEntryConsumer(sc.apply(s));
    }
}
项目:jdk8u-jdk    文件:TestData.java   
public static OfDouble ofDoubleSupplier(String name, Supplier<DoubleStream> supplier) {
    return new AbstractTestData.DoubleTestData<>(name, supplier,
                                                 Supplier::get,
                                                 s -> s.get().parallel(),
                                                 s -> s.get().spliterator(),
                                                 s -> (int) s.get().spliterator().getExactSizeIfKnown());
}
项目:slf4j-lambda    文件:LambdaLoggerTest.java   
@Test
public void trace_format_argSuppliers() throws Exception {
    lambdaLogger.trace("trace format", () -> "arg1", () -> "arg2", () -> "arg three");

    verify(lambdaLogger).doLog(eq(null), eq(Level.TRACE), eq("trace format"), argSuppliersCaptor.capture(), eq(null));

    Supplier[] suppliers = argSuppliersCaptor.getValue();
    assertThat(suppliers.length).isEqualTo(3);
    assertThat(suppliers[0].get()).isEqualTo("arg1");
    assertThat(suppliers[1].get()).isEqualTo("arg2");
    assertThat(suppliers[2].get()).isEqualTo("arg three");
}
项目:openjdk-jdk10    文件:JmodNegativeTest.java   
@DataProvider(name = "partOfPathDoesNotExist")
public Object[][] partOfPathDoesNotExist() throws IOException {
    Path jmod = MODS_DIR.resolve("output.jmod");
    FileUtils.deleteFileIfExistsWithRetry(jmod);
    FileUtils.deleteFileIfExistsWithRetry(Paths.get("doesNotExist"));

    Path emptyDir = Paths.get("empty");
    if (Files.exists(emptyDir))
        FileUtils.deleteFileTreeWithRetry(emptyDir);
    Files.createDirectory(emptyDir);

    List<Supplier<JmodResult>> tasks = Arrays.asList(
        () -> jmod("create",
                   "--hash-modules", "anyPattern",
                   "--module-path","empty" + pathSeparator + "doesNotExist",
                   "output.jmod"),
        () -> jmod("create",
                   "--class-path", "empty" + pathSeparator + "doesNotExist",
                   "output.jmod"),
        () -> jmod("create",
                   "--class-path", "empty" + pathSeparator + "doesNotExist.jar",
                   "output.jmod"),
        () -> jmod("create",
                   "--cmds", "empty" + pathSeparator + "doesNotExist",
                   "output.jmod"),
        () -> jmod("create",
                   "--config", "empty" + pathSeparator + "doesNotExist",
                   "output.jmod"),
        () -> jmod("create",
                   "--libs", "empty" + pathSeparator + "doesNotExist",
                   "output.jmod") );

    String errMsg = "Error: path not found: doesNotExist";
    return tasks.stream().map(t -> new Object[] {t, errMsg} )
                         .toArray(Object[][]::new);
}
项目:ndbc    文件:PooledDataSourceTest.java   
@Test
public void transactional() throws CheckedFutureException {
  final Integer result = 1;
  final Supplier<Future<Integer>> block = () -> Future.value(result);
  final Connection c = new TestConnection() {
    @Override
    public <R> Future<R> withTransaction(final Supplier<Future<R>> sup) {
      assertEquals(block, sup);
      return sup.get();
    }
  };
  assertEquals(result, ds(c).transactional(block).get(timeout));
}
项目:n4js    文件:UninstallNpmDependencyButtonListener.java   
UninstallNpmDependencyButtonListener(BiFunction<Collection<String>, IProgressMonitor, IStatus> uninstallAction,
        Supplier<IInputValidator> validator, StatusHelper statusHelper, Supplier<String> initalValue) {
    this.statusHelper = statusHelper;
    this.validator = validator;
    this.uninstallAction = uninstallAction;
    this.initalValue = initalValue;
}
项目:elasticsearch-indexing-proxy    文件:IndexingProxyPlugin.java   
@Override
public List<RestHandler> getRestHandlers(final Settings settings, final RestController restController,
        final ClusterSettings clusterSettings, final IndexScopedSettings indexScopedSettings, final SettingsFilter settingsFilter,
        final IndexNameExpressionResolver indexNameExpressionResolver, final Supplier<DiscoveryNodes> nodesInCluster) {
    return Arrays.asList(new RestIndexingProxyProcessAction(settings, restController, pluginComponent),
            new RestIndexingProxyRequestAction(settings, restController, pluginComponent));
}
项目:elasticsearch_my    文件:FileBasedDiscoveryPlugin.java   
@Override
public Map<String, Supplier<UnicastHostsProvider>> getZenHostsProviders(TransportService transportService,
                                                                        NetworkService networkService) {
    return Collections.singletonMap(
        "file",
        () -> new FileBasedUnicastHostsProvider(settings, transportService, fileBasedDiscoveryExecutorService));
}