CarrotChat v2.8.60.240131版本的 MD5 值为:2baf8b9f31830b86b5c5a85ae6b47e05

以下内容为反编译后的 PubSubFeature.java 源代码,内容仅作参考


package org.jivesoftware.smackx.pubsub;

import org.apache.commons.codec.language.Soundex;
import org.jivesoftware.smackx.disco.Feature;
public final class PubSubFeature implements CharSequence {
    private static final PubSubFeature[] $VALUES;
    public static final PubSubFeature access_authorize;
    public static final PubSubFeature access_open;
    public static final PubSubFeature access_presence;
    public static final PubSubFeature access_roster;
    public static final PubSubFeature access_whitelist;
    public static final PubSubFeature auto_create;
    public static final PubSubFeature auto_subscribe;
    public static final PubSubFeature collections;
    public static final PubSubFeature config_node;
    public static final PubSubFeature create_and_configure;
    public static final PubSubFeature create_nodes;
    public static final PubSubFeature delete_items;
    public static final PubSubFeature delete_nodes;
    public static final PubSubFeature filtered_notifications;
    public static final PubSubFeature get_pending;
    public static final PubSubFeature instant_nodes;
    public static final PubSubFeature item_ids;
    public static final PubSubFeature last_published;
    public static final PubSubFeature leased_subscription;
    public static final PubSubFeature manage_subscriptions;
    public static final PubSubFeature member_affiliation;
    public static final PubSubFeature meta_data;
    public static final PubSubFeature modify_affiliations;
    public static final PubSubFeature multi_collection;
    public static final PubSubFeature multi_subscribe;
    public static final PubSubFeature outcast_affiliation;
    public static final PubSubFeature persistent_items;
    public static final PubSubFeature presence_notifications;
    public static final PubSubFeature presence_subscribe;
    public static final PubSubFeature publish;
    public static final PubSubFeature publish_only_affiliation;
    public static final PubSubFeature publish_options;
    public static final PubSubFeature publisher_affiliation;
    public static final PubSubFeature purge_nodes;
    public static final PubSubFeature retract_items;
    public static final PubSubFeature retrieve_affiliations;
    public static final PubSubFeature retrieve_default;
    public static final PubSubFeature retrieve_default_sub;
    public static final PubSubFeature retrieve_items;
    public static final PubSubFeature retrieve_subscriptions;
    public static final PubSubFeature subscribe;
    public static final PubSubFeature subscription_options;
    public static final PubSubFeature subscriptions_notifications;
    private final String feature;
    private final String qualifiedFeature;
    private final Feature.Support support;

    static {
        Feature.Support support = Feature.Support.optional;
        PubSubFeature pubSubFeature = new PubSubFeature("access_authorize", 0, support);
        access_authorize = pubSubFeature;
        PubSubFeature pubSubFeature2 = new PubSubFeature("access_open", 1, support);
        access_open = pubSubFeature2;
        PubSubFeature pubSubFeature3 = new PubSubFeature("access_presence", 2, support);
        access_presence = pubSubFeature3;
        PubSubFeature pubSubFeature4 = new PubSubFeature("access_roster", 3, support);
        access_roster = pubSubFeature4;
        PubSubFeature pubSubFeature5 = new PubSubFeature("access_whitelist", 4, support);
        access_whitelist = pubSubFeature5;
        PubSubFeature pubSubFeature6 = new PubSubFeature("auto_create", 5, support);
        auto_create = pubSubFeature6;
        Feature.Support support2 = Feature.Support.recommended;
        PubSubFeature pubSubFeature7 = new PubSubFeature("auto_subscribe", 6, support2);
        auto_subscribe = pubSubFeature7;
        PubSubFeature pubSubFeature8 = new PubSubFeature("collections", 7, support);
        collections = pubSubFeature8;
        PubSubFeature pubSubFeature9 = new PubSubFeature("config_node", 8, support2);
        config_node = pubSubFeature9;
        PubSubFeature pubSubFeature10 = new PubSubFeature("create_and_configure", 9, support2);
        create_and_configure = pubSubFeature10;
        PubSubFeature pubSubFeature11 = new PubSubFeature("create_nodes", 10, support2);
        create_nodes = pubSubFeature11;
        PubSubFeature pubSubFeature12 = new PubSubFeature("delete_items", 11, support2);
        delete_items = pubSubFeature12;
        PubSubFeature pubSubFeature13 = new PubSubFeature("delete_nodes", 12, support2);
        delete_nodes = pubSubFeature13;
        PubSubFeature pubSubFeature14 = new PubSubFeature("get_pending", 13, support);
        get_pending = pubSubFeature14;
        PubSubFeature pubSubFeature15 = new PubSubFeature("item_ids", 14, support2);
        item_ids = pubSubFeature15;
        PubSubFeature pubSubFeature16 = new PubSubFeature("last_published", 15, support2);
        last_published = pubSubFeature16;
        PubSubFeature pubSubFeature17 = new PubSubFeature("leased_subscription", 16, support);
        leased_subscription = pubSubFeature17;
        PubSubFeature pubSubFeature18 = new PubSubFeature("manage_subscriptions", 17, support);
        manage_subscriptions = pubSubFeature18;
        PubSubFeature pubSubFeature19 = new PubSubFeature("member_affiliation", 18, support2);
        member_affiliation = pubSubFeature19;
        PubSubFeature pubSubFeature20 = new PubSubFeature("meta_data", 19, support2);
        meta_data = pubSubFeature20;
        PubSubFeature pubSubFeature21 = new PubSubFeature("modify_affiliations", 20, support);
        modify_affiliations = pubSubFeature21;
        PubSubFeature pubSubFeature22 = new PubSubFeature("multi_collection", 21, support);
        multi_collection = pubSubFeature22;
        PubSubFeature pubSubFeature23 = new PubSubFeature("multi_subscribe", 22, support);
        multi_subscribe = pubSubFeature23;
        PubSubFeature pubSubFeature24 = new PubSubFeature("outcast_affiliation", 23, support2);
        outcast_affiliation = pubSubFeature24;
        PubSubFeature pubSubFeature25 = new PubSubFeature("persistent_items", 24, support2);
        persistent_items = pubSubFeature25;
        PubSubFeature pubSubFeature26 = new PubSubFeature("presence_notifications", 25, support);
        presence_notifications = pubSubFeature26;
        PubSubFeature pubSubFeature27 = new PubSubFeature("presence_subscribe", 26, support2);
        presence_subscribe = pubSubFeature27;
        Feature.Support support3 = Feature.Support.required;
        PubSubFeature pubSubFeature28 = new PubSubFeature("publish", 27, support3);
        publish = pubSubFeature28;
        PubSubFeature pubSubFeature29 = new PubSubFeature("publish_options", 28, support);
        publish_options = pubSubFeature29;
        PubSubFeature pubSubFeature30 = new PubSubFeature("publish_only_affiliation", 29, support);
        publish_only_affiliation = pubSubFeature30;
        PubSubFeature pubSubFeature31 = new PubSubFeature("publisher_affiliation", 30, support2);
        publisher_affiliation = pubSubFeature31;
        PubSubFeature pubSubFeature32 = new PubSubFeature("purge_nodes", 31, support);
        purge_nodes = pubSubFeature32;
        PubSubFeature pubSubFeature33 = new PubSubFeature("retract_items", 32, support);
        retract_items = pubSubFeature33;
        PubSubFeature pubSubFeature34 = new PubSubFeature("retrieve_affiliations", 33, support2);
        retrieve_affiliations = pubSubFeature34;
        PubSubFeature pubSubFeature35 = new PubSubFeature("retrieve_default", 34, support2);
        retrieve_default = pubSubFeature35;
        PubSubFeature pubSubFeature36 = new PubSubFeature("retrieve_default_sub", 35, support);
        retrieve_default_sub = pubSubFeature36;
        PubSubFeature pubSubFeature37 = new PubSubFeature("retrieve_items", 36, support2);
        retrieve_items = pubSubFeature37;
        PubSubFeature pubSubFeature38 = new PubSubFeature("retrieve_subscriptions", 37, support2);
        retrieve_subscriptions = pubSubFeature38;
        PubSubFeature pubSubFeature39 = new PubSubFeature("subscribe", 38, support3);
        subscribe = pubSubFeature39;
        PubSubFeature pubSubFeature40 = new PubSubFeature("subscription_options", 39, support);
        subscription_options = pubSubFeature40;
        PubSubFeature pubSubFeature41 = new PubSubFeature("subscriptions_notifications", 40, support);
        subscriptions_notifications = pubSubFeature41;
        PubSubFeature pubSubFeature42 = new PubSubFeature("instant_nodes", 41, support2);
        instant_nodes = pubSubFeature42;
        PubSubFeature pubSubFeature43 = new PubSubFeature("filtered_notifications", 42, support2);
        filtered_notifications = pubSubFeature43;
        $VALUES = new PubSubFeature[]{pubSubFeature, pubSubFeature2, pubSubFeature3, pubSubFeature4, pubSubFeature5, pubSubFeature6, pubSubFeature7, pubSubFeature8, pubSubFeature9, pubSubFeature10, pubSubFeature11, pubSubFeature12, pubSubFeature13, pubSubFeature14, pubSubFeature15, pubSubFeature16, pubSubFeature17, pubSubFeature18, pubSubFeature19, pubSubFeature20, pubSubFeature21, pubSubFeature22, pubSubFeature23, pubSubFeature24, pubSubFeature25, pubSubFeature26, pubSubFeature27, pubSubFeature28, pubSubFeature29, pubSubFeature30, pubSubFeature31, pubSubFeature32, pubSubFeature33, pubSubFeature34, pubSubFeature35, pubSubFeature36, pubSubFeature37, pubSubFeature38, pubSubFeature39, pubSubFeature40, pubSubFeature41, pubSubFeature42, pubSubFeature43};
    }

    private PubSubFeature(String str, int i, Feature.Support support) {
        String replace = name().replace('_', Soundex.SILENT_MARKER);
        this.feature = replace;
        this.qualifiedFeature = "http://jabber.org/protocol/pubsub#" + replace;
        this.support = support;
    }

    public static PubSubFeature valueOf(String str) {
        return (PubSubFeature) Enum.valueOf(PubSubFeature.class, str);
    }

    public static PubSubFeature[] values() {
        return (PubSubFeature[]) $VALUES.clone();
    }

    @Override
    public char charAt(int i) {
        return this.qualifiedFeature.charAt(i);
    }

    public String getFeatureName() {
        return this.feature;
    }

    @Override
    public int length() {
        return this.qualifiedFeature.length();
    }

    @Override
    public CharSequence subSequence(int i, int i2) {
        return this.qualifiedFeature.subSequence(i, i2);
    }

    public Feature.Support support() {
        return this.support;
    }

    @Override
    public String toString() {
        return this.qualifiedFeature;
    }
}