This repository has been archived on 2021-12-05. You can view files and clone it, but cannot push or open issues or pull requests.
envoy/src/main/java/envoy/client/net/UserStatusChangeProcessor.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);
}
}