37 lines
1.1 KiB
Java
37 lines
1.1 KiB
Java
package envoy.client.net;
|
|
|
|
import java.util.function.Consumer;
|
|
import java.util.logging.Logger;
|
|
|
|
import envoy.data.Message.MessageStatus;
|
|
import envoy.event.MessageStatusChange;
|
|
import envoy.util.EnvoyLog;
|
|
|
|
import dev.kske.eventbus.EventBus;
|
|
|
|
/**
|
|
* Project: <strong>envoy-client</strong><br>
|
|
* File: <strong>MessageStatusChangeProcessor.java</strong><br>
|
|
* Created: <strong>4 Feb 2020</strong><br>
|
|
*
|
|
* @author Kai S. K. Engelbart
|
|
* @since Envoy Client v0.3-alpha
|
|
*/
|
|
public final class MessageStatusChangeProcessor implements Consumer<MessageStatusChange> {
|
|
|
|
private static final Logger logger = EnvoyLog.getLogger(MessageStatusChangeProcessor.class);
|
|
|
|
/**
|
|
* Dispatches a {@link MessageStatusChange} if the status is
|
|
* {@code RECEIVED} or {@code READ}.
|
|
*
|
|
* @param evt the status change event
|
|
* @since Envoy Client v0.3-alpha
|
|
*/
|
|
@Override
|
|
public void accept(MessageStatusChange evt) {
|
|
if (evt.get().ordinal() < MessageStatus.RECEIVED.ordinal()) logger.warning("Received invalid message status change " + evt);
|
|
else EventBus.getInstance().dispatch(evt);
|
|
}
|
|
}
|