package chat.server.moquette.message;
|
|
import io.netty.handler.codec.DecoderResult;
|
import io.netty.util.internal.StringUtil;
|
|
public class MqttMessage {
|
|
private final MqttFixedHeader mqttFixedHeader;
|
private final Object variableHeader;
|
private final Object payload;
|
private final DecoderResult decoderResult;
|
|
public MqttMessage(MqttFixedHeader mqttFixedHeader) {
|
this(mqttFixedHeader, null, null);
|
}
|
|
public MqttMessage(MqttFixedHeader mqttFixedHeader, Object variableHeader) {
|
this(mqttFixedHeader, variableHeader, null);
|
}
|
|
public MqttMessage(MqttFixedHeader mqttFixedHeader, Object variableHeader, Object payload) {
|
this(mqttFixedHeader, variableHeader, payload, DecoderResult.SUCCESS);
|
}
|
|
public MqttMessage(MqttFixedHeader mqttFixedHeader, Object variableHeader, Object payload, DecoderResult decoderResult) {
|
this.mqttFixedHeader = mqttFixedHeader;
|
this.variableHeader = variableHeader;
|
this.payload = payload;
|
this.decoderResult = decoderResult;
|
}
|
|
public MqttMessageType messageType() {
|
return fixedHeader().messageType();
|
}
|
|
public MqttFixedHeader fixedHeader() {
|
return mqttFixedHeader;
|
}
|
|
public Object variableHeader() {
|
return variableHeader;
|
}
|
|
public Object payload() {
|
return payload;
|
}
|
|
public DecoderResult decoderResult() {
|
return decoderResult;
|
}
|
|
@Override
|
public String toString() {
|
return new StringBuilder(StringUtil.simpleClassName(this))
|
.append('[')
|
.append("fixedHeader=").append(fixedHeader() != null ? fixedHeader().toString() : "")
|
.append(", variableHeader=").append(variableHeader() != null ? variableHeader.toString() : "")
|
.append(", payload=").append(payload() != null ? payload.toString() : "")
|
.append(']')
|
.toString();
|
}
|
|
}
|