Home / Class/ MqttMessageBuilders Class — netty Architecture

MqttMessageBuilders Class — netty Architecture

Architecture documentation for the MqttMessageBuilders class in MqttMessageBuilders.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  1a620ad5_45ce_ae36_7744_e812b4ace0cb["MqttMessageBuilders"]
  7d541d48_e599_e4df_7154_8f69a769e3a4["MqttMessageBuilders.java"]
  1a620ad5_45ce_ae36_7744_e812b4ace0cb -->|defined in| 7d541d48_e599_e4df_7154_8f69a769e3a4
  d40be3de_a7bf_5da3_1830_180d34d100d2["ConnectBuilder()"]
  1a620ad5_45ce_ae36_7744_e812b4ace0cb -->|method| d40be3de_a7bf_5da3_1830_180d34d100d2
  7a63884f_2afa_5d78_64b6_f551bdc570db["ConnAckBuilder()"]
  1a620ad5_45ce_ae36_7744_e812b4ace0cb -->|method| 7a63884f_2afa_5d78_64b6_f551bdc570db
  ad1b5d0f_e055_53b3_e664_1482bf9e2994["PublishBuilder()"]
  1a620ad5_45ce_ae36_7744_e812b4ace0cb -->|method| ad1b5d0f_e055_53b3_e664_1482bf9e2994
  cef3ecc6_9040_3123_6e4f_a5c2a510d0de["SubscribeBuilder()"]
  1a620ad5_45ce_ae36_7744_e812b4ace0cb -->|method| cef3ecc6_9040_3123_6e4f_a5c2a510d0de
  0b46fc36_7e9b_7dd3_f2dd_2dd9a75044d9["UnsubscribeBuilder()"]
  1a620ad5_45ce_ae36_7744_e812b4ace0cb -->|method| 0b46fc36_7e9b_7dd3_f2dd_2dd9a75044d9
  0cdc7e8d_e90a_5c95_6bfe_6946412fe283["PubAckBuilder()"]
  1a620ad5_45ce_ae36_7744_e812b4ace0cb -->|method| 0cdc7e8d_e90a_5c95_6bfe_6946412fe283
  1427b91d_a01c_92a5_e0e9_674bbe303e41["SubAckBuilder()"]
  1a620ad5_45ce_ae36_7744_e812b4ace0cb -->|method| 1427b91d_a01c_92a5_e0e9_674bbe303e41
  6a964e42_cd6b_3d2c_a837_fe977875fb48["UnsubAckBuilder()"]
  1a620ad5_45ce_ae36_7744_e812b4ace0cb -->|method| 6a964e42_cd6b_3d2c_a837_fe977875fb48
  c101e1d7_aa4d_cfa6_8b70_e991b1f66e43["DisconnectBuilder()"]
  1a620ad5_45ce_ae36_7744_e812b4ace0cb -->|method| c101e1d7_aa4d_cfa6_8b70_e991b1f66e43
  63beb5a6_6e74_9122_e43d_d46e024ddd46["AuthBuilder()"]
  1a620ad5_45ce_ae36_7744_e812b4ace0cb -->|method| 63beb5a6_6e74_9122_e43d_d46e024ddd46
  425eefb2_1464_b915_272f_37dd525636af["MqttMessageBuilders()"]
  1a620ad5_45ce_ae36_7744_e812b4ace0cb -->|method| 425eefb2_1464_b915_272f_37dd525636af

Relationship Graph

Source Code

codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttMessageBuilders.java lines 28–763

public final class MqttMessageBuilders {

    public static final class PublishBuilder {
        private String topic;
        private boolean retained;
        private MqttQoS qos;
        private ByteBuf payload;
        private int messageId;
        private MqttProperties mqttProperties;

        PublishBuilder() {
        }

        public PublishBuilder topicName(String topic) {
            this.topic = topic;
            return this;
        }

        public PublishBuilder retained(boolean retained) {
            this.retained = retained;
            return this;
        }

        public PublishBuilder qos(MqttQoS qos) {
            this.qos = qos;
            return this;
        }

        public PublishBuilder payload(ByteBuf payload) {
            this.payload = payload;
            return this;
        }

        public PublishBuilder messageId(int messageId) {
            this.messageId = messageId;
            return this;
        }

        public PublishBuilder properties(MqttProperties properties) {
            this.mqttProperties = properties;
            return this;
        }

        public MqttPublishMessage build() {
            MqttFixedHeader mqttFixedHeader = new MqttFixedHeader(MqttMessageType.PUBLISH, false, qos, retained, 0);
            MqttPublishVariableHeader mqttVariableHeader =
                    new MqttPublishVariableHeader(topic, messageId, mqttProperties);
            return new MqttPublishMessage(mqttFixedHeader, mqttVariableHeader, Unpooled.buffer().writeBytes(payload));
        }
    }

    public static final class ConnectBuilder {

        private MqttVersion version = MqttVersion.MQTT_3_1_1;
        private String clientId;
        private boolean cleanSession;
        private boolean hasUser;
        private boolean hasPassword;
        private int keepAliveSecs;
        private MqttProperties willProperties = MqttProperties.NO_PROPERTIES;
        private boolean willFlag;
        private boolean willRetain;
        private MqttQoS willQos = MqttQoS.AT_MOST_ONCE;
        private String willTopic;
        private byte[] willMessage;
        private String username;
        private byte[] password;
        private MqttProperties properties = MqttProperties.NO_PROPERTIES;

        ConnectBuilder() {
        }

        public ConnectBuilder protocolVersion(MqttVersion version) {
            this.version = version;
            return this;
        }

        public ConnectBuilder clientId(String clientId) {
            this.clientId = clientId;
            return this;
        }

Frequently Asked Questions

What is the MqttMessageBuilders class?
MqttMessageBuilders is a class in the netty codebase, defined in codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttMessageBuilders.java.
Where is MqttMessageBuilders defined?
MqttMessageBuilders is defined in codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttMessageBuilders.java at line 28.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free