2020-02-05 07:09:25 +01:00
|
|
|
package envoy.client.net;
|
|
|
|
|
|
|
|
import java.util.function.Consumer;
|
|
|
|
import java.util.logging.Logger;
|
|
|
|
|
|
|
|
import envoy.data.Message.MessageStatus;
|
|
|
|
import envoy.event.EventBus;
|
|
|
|
import envoy.event.MessageStatusChangeEvent;
|
2020-03-05 14:27:40 +01:00
|
|
|
import envoy.util.EnvoyLog;
|
2020-02-05 07:09:25 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Project: <strong>envoy-client</strong><br>
|
|
|
|
* File: <strong>MessageStatusChangeEventProcessor.java</strong><br>
|
|
|
|
* Created: <strong>4 Feb 2020</strong><br>
|
|
|
|
*
|
|
|
|
* @author Kai S. K. Engelbart
|
2020-03-23 21:52:33 +01:00
|
|
|
* @since Envoy Client v0.3-alpha
|
2020-02-05 07:09:25 +01:00
|
|
|
*/
|
|
|
|
public class MessageStatusChangeEventProcessor implements Consumer<MessageStatusChangeEvent> {
|
|
|
|
|
2020-02-18 07:16:35 +01:00
|
|
|
private static final Logger logger = EnvoyLog.getLogger(MessageStatusChangeEventProcessor.class);
|
2020-02-05 07:09:25 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Dispatches a {@link MessageStatusChangeEvent} if the status is
|
|
|
|
* {@code RECEIVED} or {@code READ}.
|
|
|
|
*
|
|
|
|
* @param evt the status change event
|
2020-03-23 21:52:33 +01:00
|
|
|
* @since Envoy Client v0.3-alpha
|
2020-02-05 07:09:25 +01:00
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
public void accept(MessageStatusChangeEvent evt) {
|
2020-02-18 16:34:14 +01:00
|
|
|
if (evt.get().ordinal() < MessageStatus.RECEIVED.ordinal()) logger.warning("Received invalid message status change " + evt);
|
2020-02-12 06:12:04 +01:00
|
|
|
else EventBus.getInstance().dispatch(evt);
|
2020-02-05 07:09:25 +01:00
|
|
|
}
|
|
|
|
}
|