Home / Class/ PublishBuilder Class — netty Architecture

PublishBuilder Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  7b11dc39_c611_e444_7e88_f65296ae7b8c["PublishBuilder"]
  7d541d48_e599_e4df_7154_8f69a769e3a4["MqttMessageBuilders.java"]
  7b11dc39_c611_e444_7e88_f65296ae7b8c -->|defined in| 7d541d48_e599_e4df_7154_8f69a769e3a4
  c24ed6de_d7e1_1908_4c46_d49fd003456c["PublishBuilder()"]
  7b11dc39_c611_e444_7e88_f65296ae7b8c -->|method| c24ed6de_d7e1_1908_4c46_d49fd003456c
  2c594df1_6683_662f_6682_f83f971b644f["MqttPublishMessage()"]
  7b11dc39_c611_e444_7e88_f65296ae7b8c -->|method| 2c594df1_6683_662f_6682_f83f971b644f

Relationship Graph

Source Code

codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttMessageBuilders.java lines 30–77

    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));
        }
    }

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free