导航菜单

页面标题

页面副标题

95爱播免登录版 v3.1.9 - DiscoverItems.java 源代码

正在查看: 95爱播免登录版 v3.1.9 应用的 DiscoverItems.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package org.jivesoftware.smackx.packet;

import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.util.StringUtils;

public class DiscoverItems extends IQ {
    public static final String NAMESPACE = "http://jabber.org/protocol/disco#items";
    private final List<Item> items = new CopyOnWriteArrayList();
    private String node;

    public static class Item {
        public static final String REMOVE_ACTION = "remove";
        public static final String UPDATE_ACTION = "update";
        private String action;
        private String entityID;
        private String name;
        private String node;

        public Item(String str) {
            this.entityID = str;
        }

        public String getAction() {
            return this.action;
        }

        public String getEntityID() {
            return this.entityID;
        }

        public String getName() {
            return this.name;
        }

        public String getNode() {
            return this.node;
        }

        public void setAction(String str) {
            this.action = str;
        }

        public void setName(String str) {
            this.name = str;
        }

        public void setNode(String str) {
            this.node = str;
        }

        public String toXML() {
            StringBuilder sb = new StringBuilder();
            sb.append("<item jid=\"");
            sb.append(this.entityID);
            sb.append("\"");
            if (this.name != null) {
                sb.append(" name=\"");
                sb.append(StringUtils.escapeForXML(this.name));
                sb.append("\"");
            }
            if (this.node != null) {
                sb.append(" node=\"");
                sb.append(StringUtils.escapeForXML(this.node));
                sb.append("\"");
            }
            if (this.action != null) {
                sb.append(" action=\"");
                sb.append(StringUtils.escapeForXML(this.action));
                sb.append("\"");
            }
            sb.append("/>");
            return sb.toString();
        }
    }

    public void addItem(Item item) {
        synchronized (this.items) {
            this.items.add(item);
        }
    }

    public void addItems(Collection<Item> collection) {
        if (collection == null) {
            return;
        }
        Iterator<Item> it = collection.iterator();
        while (it.hasNext()) {
            addItem(it.next());
        }
    }

    public String getChildElementXML() {
        StringBuilder sb = new StringBuilder();
        sb.append("<query xmlns=\"http://jabber.org/protocol/disco#items\"");
        if (getNode() != null) {
            sb.append(" node=\"");
            sb.append(StringUtils.escapeForXML(getNode()));
            sb.append("\"");
        }
        sb.append(">");
        synchronized (this.items) {
            Iterator<Item> it = this.items.iterator();
            while (it.hasNext()) {
                sb.append(it.next().toXML());
            }
        }
        sb.append("</query>");
        return sb.toString();
    }

    public Iterator<Item> getItems() {
        Iterator<Item> it;
        synchronized (this.items) {
            it = Collections.unmodifiableList(this.items).iterator();
        }
        return it;
    }

    public String getNode() {
        return this.node;
    }

    public void setNode(String str) {
        this.node = str;
    }
}