正在查看: 95爱播免登录版 v3.1.9 应用的 OccupantsInfo.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 95爱播免登录版 v3.1.9 应用的 OccupantsInfo.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.jivesoftware.smackx.workgroup.packet;
import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import java.util.TimeZone;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.provider.IQProvider;
import org.xmlpull.v1.XmlPullParser;
public class OccupantsInfo extends IQ {
public static final String ELEMENT_NAME = "occupants-info";
public static final String NAMESPACE = "http://jivesoftware.com/protocol/workgroup";
private static final SimpleDateFormat UTC_FORMAT;
private final Set<OccupantInfo> occupants = new HashSet();
private String roomID;
public static class OccupantInfo {
private String jid;
private Date joined;
private String nickname;
public OccupantInfo(String str, String str2, Date date) {
this.jid = str;
this.nickname = str2;
this.joined = date;
}
public String getJID() {
return this.jid;
}
public Date getJoined() {
return this.joined;
}
public String getNickname() {
return this.nickname;
}
}
public static class Provider implements IQProvider {
private OccupantInfo parseOccupantInfo(XmlPullParser xmlPullParser) throws Exception {
String str = null;
String str2 = null;
Date date = null;
boolean z = false;
while (!z) {
int next = xmlPullParser.next();
if (next == 2 && "jid".equals(xmlPullParser.getName())) {
str = xmlPullParser.nextText();
} else if (next == 2 && "nickname".equals(xmlPullParser.getName())) {
str2 = xmlPullParser.nextText();
} else if (next == 2 && "joined".equals(xmlPullParser.getName())) {
date = OccupantsInfo.UTC_FORMAT.parse(xmlPullParser.nextText());
} else if (next == 3 && "occupant".equals(xmlPullParser.getName())) {
z = true;
}
}
return new OccupantInfo(str, str2, date);
}
public IQ parseIQ(XmlPullParser xmlPullParser) throws Exception {
if (xmlPullParser.getEventType() != 2) {
throw new IllegalStateException("Parser not in proper position, or bad XML.");
}
OccupantsInfo occupantsInfo = new OccupantsInfo(xmlPullParser.getAttributeValue("", "roomID"));
boolean z = false;
while (!z) {
int next = xmlPullParser.next();
if (next == 2 && "occupant".equals(xmlPullParser.getName())) {
occupantsInfo.occupants.add(parseOccupantInfo(xmlPullParser));
} else if (next == 3 && OccupantsInfo.ELEMENT_NAME.equals(xmlPullParser.getName())) {
z = true;
}
}
return occupantsInfo;
}
}
static {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd'T'HH:mm:ss");
UTC_FORMAT = simpleDateFormat;
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+0"));
}
public OccupantsInfo(String str) {
this.roomID = str;
}
public String getChildElementXML() {
StringBuilder sb = new StringBuilder();
sb.append("<");
sb.append(ELEMENT_NAME);
sb.append(" xmlns=\"");
sb.append("http://jivesoftware.com/protocol/workgroup");
sb.append("\" roomID=\"");
sb.append(this.roomID);
sb.append("\">");
synchronized (this.occupants) {
for (OccupantInfo occupantInfo : this.occupants) {
sb.append("<occupant>");
sb.append("<jid>");
sb.append(occupantInfo.getJID());
sb.append("</jid>");
sb.append("<name>");
sb.append(occupantInfo.getNickname());
sb.append("</name>");
sb.append("<joined>");
sb.append(UTC_FORMAT.format(occupantInfo.getJoined()));
sb.append("</joined>");
sb.append("</occupant>");
}
}
sb.append("</");
sb.append(ELEMENT_NAME);
sb.append("> ");
return sb.toString();
}
public Set<OccupantInfo> getOccupants() {
return Collections.unmodifiableSet(this.occupants);
}
public int getOccupantsCount() {
return this.occupants.size();
}
public String getRoomID() {
return this.roomID;
}
}