33 lines
936 B
Java
33 lines
936 B
Java
package envoy.client.net;
|
|
|
|
import java.util.function.Consumer;
|
|
|
|
import envoy.client.data.LocalDB;
|
|
import envoy.event.EventBus;
|
|
import envoy.event.UserStatusChangeEvent;
|
|
|
|
/**
|
|
* Project: <strong>envoy-client</strong><br>
|
|
* File: <strong>UserStatusChangeProcessor.java</strong><br>
|
|
* Created: <strong>2 Feb 2020</strong><br>
|
|
*
|
|
* @author Leon Hofmeister
|
|
* @since Envoy Client v0.3-alpha
|
|
*/
|
|
public class UserStatusChangeProcessor implements Consumer<UserStatusChangeEvent> {
|
|
|
|
private final LocalDB localDB;
|
|
|
|
/**
|
|
* @param localDB the local database in which status updates will by applied
|
|
* @since Envoy Client v0.3-alpha
|
|
*/
|
|
public UserStatusChangeProcessor(LocalDB localDB) { this.localDB = localDB; }
|
|
|
|
@Override
|
|
public void accept(UserStatusChangeEvent evt) {
|
|
localDB.getUsers().values().stream().filter(u -> u.getID() == evt.getID()).findFirst().get().setStatus(evt.get());
|
|
EventBus.getInstance().dispatch(evt);
|
|
}
|
|
}
|