@Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + (this.acceptPublish ? 1231 : 1237);
        result = prime * result + (this.acceptSubscribe ? 1231 : 1237);
        result = prime * result + (this.dataPath == null ? 0 : this.dataPath.hashCode());
        result = prime * result + (this.deletePolicy == null ? 0 : this.deletePolicy.hashCode());
        result = prime * result + (this.deleteWhen == null ? 0 : this.deleteWhen.hashCode());
        result = prime * result + this.numPartitions;
        result = prime * result + this.numTopicStores;
        result = prime * result + (this.topic == null ? 0 : this.topic.hashCode());
        result = prime * result + this.unflushInterval;
        result = prime * result + this.unflushThreshold;
        result = prime * result + this.unflushDataHold;
        result = prime * result + this.statusId;
        result = prime * result + this.memCacheMsgSize;
        result = prime * result + this.memCacheMsgCnt;
        result = prime * result + this.memCacheFlushIntvl;
        result = prime * result + this.maxMsgSize;
        result = prime * result + this.minMemCacheSize;
        return result;
    }
Build TopicMetadata by default topic meta and the special field values.

@param brokerDefMetadata    the default topic meta configure
@param topicName            the topic name
@param numTopicStores       the topic store count
@param numPartitions        the topic partition count
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/broker/metadata/TopicMetadata.java