All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.englishtown.promises.WhenFactory Maven / Gradle / Ivy

There is a newer version: 3.1.1
Show newest version
package com.englishtown.promises;

import com.englishtown.promises.impl.*;
import com.englishtown.promises.internal.ArrayHelper;
import com.englishtown.promises.internal.PromiseHelper;

import javax.inject.Provider;
import java.util.concurrent.Executor;

/**
 * Factory for to use when not using dependency injection
 */
public class WhenFactory {

    public static When createAsync() {
        return createFor(AsyncExecutor::new);
    }

    public static When createSync() {
        return createFor(SyncExecutor::new);
    }

    public static When createFor(Provider provider) {
        Scheduler scheduler = new DefaultScheduler(provider);
        Environment environment = new DefaultEnvironment(scheduler);
        PromiseHelper helper = new PromiseHelper(environment, new NOPContext(), new NOPReporter());
        return new DefaultWhen(helper, new ArrayHelper(helper));
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy