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

43 lines
1.1 KiB
Java
Raw Normal View History

2020-06-06 18:45:20 +02:00
package org.mercury_im.messenger.core;
2020-05-27 22:34:27 +02:00
import javax.inject.Inject;
import javax.inject.Named;
import io.reactivex.Scheduler;
import lombok.Getter;
public class SchedulersFacade {
2020-06-09 21:52:53 +02:00
/**
* 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";
2020-05-27 22:34:27 +02:00
@Getter
2020-06-09 21:52:53 +02:00
private final Scheduler ioScheduler;
2020-05-27 22:34:27 +02:00
@Getter
2020-06-09 21:52:53 +02:00
private final Scheduler uiScheduler;
2020-05-27 22:34:27 +02:00
@Getter
private final Scheduler newThread;
@Inject
2020-06-09 21:52:53 +02:00
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;
2020-05-27 22:34:27 +02:00
this.newThread = newThread;
}
}