Home / Class/ MqttSubscriptionOption Class — netty Architecture

MqttSubscriptionOption Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  2cd77638_d6c3_206d_86c8_10bf38dfff66["MqttSubscriptionOption"]
  59bbd8d8_ed7d_a000_58dc_c76b3a582b74["MqttSubscriptionOption.java"]
  2cd77638_d6c3_206d_86c8_10bf38dfff66 -->|defined in| 59bbd8d8_ed7d_a000_58dc_c76b3a582b74
  3cea382c_8ca8_2c84_d025_896910006626["MqttSubscriptionOption()"]
  2cd77638_d6c3_206d_86c8_10bf38dfff66 -->|method| 3cea382c_8ca8_2c84_d025_896910006626
  40ffd3fa_8dfc_3454_3fd6_7901e85211a3["MqttQoS()"]
  2cd77638_d6c3_206d_86c8_10bf38dfff66 -->|method| 40ffd3fa_8dfc_3454_3fd6_7901e85211a3
  ec50ce81_1546_974e_652c_7c955a7f380e["isNoLocal()"]
  2cd77638_d6c3_206d_86c8_10bf38dfff66 -->|method| ec50ce81_1546_974e_652c_7c955a7f380e
  81a10cf6_2640_6950_68cc_fc8be38e2666["isRetainAsPublished()"]
  2cd77638_d6c3_206d_86c8_10bf38dfff66 -->|method| 81a10cf6_2640_6950_68cc_fc8be38e2666
  b76e82ec_a3da_268b_bb0c_0625b8b8c981["RetainedHandlingPolicy()"]
  2cd77638_d6c3_206d_86c8_10bf38dfff66 -->|method| b76e82ec_a3da_268b_bb0c_0625b8b8c981
  c92f624b_8c03_dd41_a41e_3820f68ca794["equals()"]
  2cd77638_d6c3_206d_86c8_10bf38dfff66 -->|method| c92f624b_8c03_dd41_a41e_3820f68ca794
  4ecf3235_07c8_8e5a_208e_c2f3c4a8e802["hashCode()"]
  2cd77638_d6c3_206d_86c8_10bf38dfff66 -->|method| 4ecf3235_07c8_8e5a_208e_c2f3c4a8e802
  d187ab04_9ea9_5ec2_4c22_d3b9e6ab8436["String()"]
  2cd77638_d6c3_206d_86c8_10bf38dfff66 -->|method| d187ab04_9ea9_5ec2_4c22_d3b9e6ab8436

Relationship Graph

Source Code

codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttSubscriptionOption.java lines 21–128

public final class MqttSubscriptionOption {

    public enum RetainedHandlingPolicy {
        SEND_AT_SUBSCRIBE(0),
        SEND_AT_SUBSCRIBE_IF_NOT_YET_EXISTS(1),
        DONT_SEND_AT_SUBSCRIBE(2);

        private final int value;

        RetainedHandlingPolicy(int value) {
            this.value = value;
        }

        public int value() {
            return value;
        }

        public static RetainedHandlingPolicy valueOf(int value) {
            switch (value) {
            case 0:
                return SEND_AT_SUBSCRIBE;
            case 1:
                return SEND_AT_SUBSCRIBE_IF_NOT_YET_EXISTS;
            case 2:
                return DONT_SEND_AT_SUBSCRIBE;
            default:
                throw new IllegalArgumentException("invalid RetainedHandlingPolicy: " + value);
            }
        }
    }

    private final MqttQoS qos;
    private final boolean noLocal;
    private final boolean retainAsPublished;
    private final RetainedHandlingPolicy retainHandling;

    public static MqttSubscriptionOption onlyFromQos(MqttQoS qos) {
        return new MqttSubscriptionOption(qos, false, false, RetainedHandlingPolicy.SEND_AT_SUBSCRIBE);
    }

    public MqttSubscriptionOption(MqttQoS qos,
                                  boolean noLocal,
                                  boolean retainAsPublished,
                                  RetainedHandlingPolicy retainHandling) {
        this.qos = qos;
        this.noLocal = noLocal;
        this.retainAsPublished = retainAsPublished;
        this.retainHandling = retainHandling;
    }

    public MqttQoS qos() {
        return qos;
    }

    public boolean isNoLocal() {
        return noLocal;
    }

    public boolean isRetainAsPublished() {
        return retainAsPublished;
    }

    public RetainedHandlingPolicy retainHandling() {
        return retainHandling;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        MqttSubscriptionOption that = (MqttSubscriptionOption) o;

        if (noLocal != that.noLocal) {
            return false;
        }
        if (retainAsPublished != that.retainAsPublished) {

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free