
org.revenj.RevenjSystemState Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of revenj-core Show documentation
Show all versions of revenj-core Show documentation
DSL Platform compatible backend (https://dsl-platform.com)
The newest version!
package org.revenj;
import org.revenj.extensibility.Container;
import org.revenj.extensibility.SystemState;
import rx.Observable;
import rx.subjects.PublishSubject;
class RevenjSystemState implements SystemState {
private boolean systemBooting = true;
private boolean systemReady = false;
private final PublishSubject changeSubject = PublishSubject.create();
private final PublishSubject startupSubject = PublishSubject.create();
private final Observable changeEvents;
private final Observable startupEvents;
public RevenjSystemState() {
changeEvents = changeSubject.asObservable();
startupEvents = startupSubject.asObservable();
}
@Override
public boolean isBooting() {
return systemBooting;
}
@Override
public boolean isReady() {
return systemReady;
}
void started(Container container) {
systemBooting = false;
systemReady = true;
startupSubject.onNext(container);
}
@Override
public Observable ready() {
return startupEvents;
}
@Override
public Observable change() {
return changeEvents;
}
@Override
public void notify(SystemEvent value) {
changeSubject.onNext(value);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy