package site.gemus.rxeventbus; import io.reactivex.Scheduler; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; import site.gemus.rxeventbusannotation.ThreadMode; /** * @author Jackdow * @version 1.0 * RxEventBus */ public final class ThreadModeCastToSchedulersUtil { private ThreadModeCastToSchedulersUtil() {} public static Scheduler cast(ThreadMode threadMode) { Scheduler scheduler = null; switch (threadMode) { case COMPUTATION: scheduler = Schedulers.computation(); break; case NEWTHREAD: scheduler = Schedulers.newThread(); break; case MAIN: scheduler = AndroidSchedulers.mainThread(); break; case IO: scheduler = Schedulers.io(); break; default: scheduler = AndroidSchedulers.mainThread(); break; } return scheduler; } }