// Path: easymvp-rx2-api/src/main/java/easymvp/executer/PostExecutionThread.java
// public interface PostExecutionThread {
//     Scheduler getScheduler();
// }
// 
// Path: easymvp-rx-api/src/main/java/easymvp/executer/UseCaseExecutor.java
// public interface UseCaseExecutor {
//     Scheduler getScheduler();
// }


import easymvp.executer.PostExecutionThread;
import easymvp.executer.UseCaseExecutor;
import io.reactivex.Completable;
import io.reactivex.CompletableTransformer;
import javax.annotation.Nullable;
package easymvp.usecase;



/**
 * Created by megrez on 2017/3/12.
 */
public abstract class CompletableUseCase<Q> extends UseCase<Completable, Q> {

    private final CompletableTransformer schedulersTransformer;

    public CompletableUseCase(final UseCaseExecutor useCaseExecutor,
// Path: easymvp-rx2-api/src/main/java/easymvp/executer/PostExecutionThread.java
// public interface PostExecutionThread {
//     Scheduler getScheduler();
// }
// 
// Path: easymvp-rx-api/src/main/java/easymvp/executer/UseCaseExecutor.java
// public interface UseCaseExecutor {
//     Scheduler getScheduler();
// }


// Path: easymvp-rx2-api/src/main/java/easymvp/usecase/CompletableUseCase.java
import easymvp.executer.PostExecutionThread;
import easymvp.executer.UseCaseExecutor;
import io.reactivex.Completable;
import io.reactivex.CompletableTransformer;
import javax.annotation.Nullable;

package easymvp.usecase;



/**
 * Created by megrez on 2017/3/12.
 */
public abstract class CompletableUseCase<Q> extends UseCase<Completable, Q> {

    private final CompletableTransformer schedulersTransformer;

    public CompletableUseCase(final UseCaseExecutor useCaseExecutor,
                              final PostExecutionThread postExecutionThread) {