Home / Class/ MqttTopicSubscription Class — netty Architecture

MqttTopicSubscription Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  7db00cac_4c87_9194_d2a4_3134fb32a6fb["MqttTopicSubscription"]
  12c1645c_ba21_0322_c72f_c2671378a08b["MqttTopicSubscription.java"]
  7db00cac_4c87_9194_d2a4_3134fb32a6fb -->|defined in| 12c1645c_ba21_0322_c72f_c2671378a08b
  d061da4c_9f3e_f6ac_c7aa_38ac41ba219e["MqttTopicSubscription()"]
  7db00cac_4c87_9194_d2a4_3134fb32a6fb -->|method| d061da4c_9f3e_f6ac_c7aa_38ac41ba219e
  6fdb1760_e58b_46a4_4736_b7d016180fca["String()"]
  7db00cac_4c87_9194_d2a4_3134fb32a6fb -->|method| 6fdb1760_e58b_46a4_4736_b7d016180fca
  8f685f2d_a013_5cfb_3987_328483bf9aba["setTopicFilter()"]
  7db00cac_4c87_9194_d2a4_3134fb32a6fb -->|method| 8f685f2d_a013_5cfb_3987_328483bf9aba
  7b3f9a54_7e14_be73_d616_ab8af031aa2e["MqttQoS()"]
  7db00cac_4c87_9194_d2a4_3134fb32a6fb -->|method| 7b3f9a54_7e14_be73_d616_ab8af031aa2e
  bb875eb3_fe38_bbd0_f1dd_9a25ad9cebb2["MqttSubscriptionOption()"]
  7db00cac_4c87_9194_d2a4_3134fb32a6fb -->|method| bb875eb3_fe38_bbd0_f1dd_9a25ad9cebb2

Relationship Graph

Source Code

codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttTopicSubscription.java lines 25–83

public final class MqttTopicSubscription {

    private String topicFilter;
    private final MqttSubscriptionOption option;

    public MqttTopicSubscription(String topicFilter, MqttQoS qualityOfService) {
        this.topicFilter = topicFilter;
        this.option = MqttSubscriptionOption.onlyFromQos(qualityOfService);
    }

    public MqttTopicSubscription(String topicFilter, MqttSubscriptionOption option) {
        this.topicFilter = topicFilter;
        this.option = option;
    }

    /**
     * @deprecated use topicFilter
     */
    @Deprecated
    public String topicName() {
        return topicFilter;
    }

    public String topicFilter() {
        return topicFilter;
    }

    /**
     * Rewrite topic filter.
     * <p>
     *
     * Many IoT devices do not support reconfiguration or upgrade, so it is hard to
     * change their subscribed topics. To resolve this issue, MQTT server may offer
     * topic rewrite capability.
     *
     * @param topicFilter Topic to rewrite to
     */
    public void setTopicFilter(String topicFilter) {
        this.topicFilter = topicFilter;
    }

    public MqttQoS qualityOfService() {
        return option.qos();
    }

    public MqttSubscriptionOption option() {
        return option;
    }

    @Override
    public String toString() {
        return new StringBuilder(StringUtil.simpleClassName(this))
                .append('[')
                .append("topicFilter=").append(topicFilter)
                .append(", option=").append(this.option)
                .append(']')
                .toString();
    }
}

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free