package com.ruoyi.mqtt; import com.ruoyi.mqtt.event.*; /** * 事件 处理句柄 */ public interface MqttEventHandler { /** * 处理 * * @param event 事件 * @param item 产生的MQTT操作项 * @return 是否处理下一个句柄 */ default boolean next(MqttEvent event, MqttItem item) { if (event instanceof MqttConnectionExceptionEvent) { return next((MqttConnectionExceptionEvent) event, item); } else if (event instanceof MqttConnectionLostEvent) { return next((MqttConnectionLostEvent) event, item); } else if (event instanceof MqttConnectionSuccessEvent) { return next((MqttConnectionSuccessEvent) event, item); } else if (event instanceof MqttMessageDeliveryEvent) { return next((MqttMessageDeliveryEvent) event, item); } else if (event instanceof MqttMessageEvent) { return next((MqttMessageEvent) event, item); } else if (event instanceof MqttReconnectionEvent) { return next((MqttReconnectionEvent) event, item); } return false; } default boolean next(MqttConnectionExceptionEvent event, MqttItem item) { return true; } default boolean next(MqttConnectionLostEvent event, MqttItem item) { return true; } default boolean next(MqttConnectionSuccessEvent event, MqttItem item) { return true; } default boolean next(MqttMessageDeliveryEvent event, MqttItem item) { return true; } default boolean next(MqttMessageEvent event, MqttItem item) { return true; } default boolean next(MqttReconnectionEvent event, MqttItem item) { return true; } }