Mercury-IM/domain/src/main/java/org/mercury_im/messenger/core/SchedulersFacade.java

43 lines
1.1 KiB
Java

package org.mercury_im.messenger.core;
import javax.inject.Inject;
import javax.inject.Named;
import io.reactivex.Scheduler;
import lombok.Getter;
public class SchedulersFacade {
/**
* Name for the database / io thread scheduler.
*/
public static final String SCHEDULER_IO = "DatabaseThread";
/**
* Name for the UI / main thread scheduler.
*/
public static final String SCHEDULER_UI = "UIThread";
/**
* Name for a new thread scheduler.
*/
public static final String SCHEDULER_NEW_THREAD = "NewThread";
@Getter
private final Scheduler ioScheduler;
@Getter
private final Scheduler uiScheduler;
@Getter
private final Scheduler newThread;
@Inject
public SchedulersFacade(@Named(value = SCHEDULER_IO) Scheduler ioScheduler,
@Named(value = SCHEDULER_UI) Scheduler uiScheduler,
@Named(value = SCHEDULER_NEW_THREAD) Scheduler newThread) {
this.ioScheduler = ioScheduler;
this.uiScheduler = uiScheduler;
this.newThread = newThread;
}
}