正在查看: 95爱播免登录版 v3.1.9 应用的 OfflineMessageRequest.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 95爱播免登录版 v3.1.9 应用的 OfflineMessageRequest.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.jivesoftware.smackx.packet;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.provider.IQProvider;
import org.xmlpull.v1.XmlPullParser;
public class OfflineMessageRequest extends IQ {
private List<Item> items = new ArrayList();
private boolean purge = false;
private boolean fetch = false;
public static class Item {
private String action;
private String jid;
private String node;
public Item(String str) {
this.node = str;
}
public String getAction() {
return this.action;
}
public String getJid() {
return this.jid;
}
public String getNode() {
return this.node;
}
public void setAction(String str) {
this.action = str;
}
public void setJid(String str) {
this.jid = str;
}
public String toXML() {
StringBuilder sb = new StringBuilder();
sb.append("<item");
if (getAction() != null) {
sb.append(" action=\"");
sb.append(getAction());
sb.append("\"");
}
if (getJid() != null) {
sb.append(" jid=\"");
sb.append(getJid());
sb.append("\"");
}
if (getNode() != null) {
sb.append(" node=\"");
sb.append(getNode());
sb.append("\"");
}
sb.append("/>");
return sb.toString();
}
}
public static class Provider implements IQProvider {
private Item parseItem(XmlPullParser xmlPullParser) throws Exception {
Item item = new Item(xmlPullParser.getAttributeValue("", "node"));
item.setAction(xmlPullParser.getAttributeValue("", "action"));
item.setJid(xmlPullParser.getAttributeValue("", "jid"));
boolean z = false;
while (!z) {
if (xmlPullParser.next() == 3 && xmlPullParser.getName().equals("item")) {
z = true;
}
}
return item;
}
public IQ parseIQ(XmlPullParser xmlPullParser) throws Exception {
OfflineMessageRequest offlineMessageRequest = new OfflineMessageRequest();
boolean z = false;
while (!z) {
int next = xmlPullParser.next();
if (next == 2) {
if (xmlPullParser.getName().equals("item")) {
offlineMessageRequest.addItem(parseItem(xmlPullParser));
} else if (xmlPullParser.getName().equals("purge")) {
offlineMessageRequest.setPurge(true);
} else if (xmlPullParser.getName().equals("fetch")) {
offlineMessageRequest.setFetch(true);
}
} else if (next == 3 && xmlPullParser.getName().equals(MessageEvent.OFFLINE)) {
z = true;
}
}
return offlineMessageRequest;
}
}
public void addItem(Item item) {
synchronized (this.items) {
this.items.add(item);
}
}
public String getChildElementXML() {
StringBuilder sb = new StringBuilder();
sb.append("<offline xmlns=\"http://jabber.org/protocol/offline\">");
synchronized (this.items) {
for (int i = 0; i < this.items.size(); i++) {
sb.append(this.items.get(i).toXML());
}
}
if (this.purge) {
sb.append("<purge/>");
}
if (this.fetch) {
sb.append("<fetch/>");
}
sb.append(getExtensionsXML());
sb.append("</offline>");
return sb.toString();
}
public Iterator<Item> getItems() {
Iterator<Item> it;
synchronized (this.items) {
it = Collections.unmodifiableList(new ArrayList(this.items)).iterator();
}
return it;
}
public boolean isFetch() {
return this.fetch;
}
public boolean isPurge() {
return this.purge;
}
public void setFetch(boolean z) {
this.fetch = z;
}
public void setPurge(boolean z) {
this.purge = z;
}
}