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