正在查看: 95爱播免登录版 v3.1.9 应用的 StreamInitiation.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 95爱播免登录版 v3.1.9 应用的 StreamInitiation.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.jivesoftware.smackx.packet;
import java.util.Date;
import java.util.Objects;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.PacketExtension;
import org.jivesoftware.smack.util.StringUtils;
public class StreamInitiation extends IQ {
private Feature featureNegotiation;
private File file;
private String id;
private String mimeType;
public class Feature implements PacketExtension {
private final DataForm data;
public Feature(DataForm dataForm) {
this.data = dataForm;
}
public DataForm getData() {
return this.data;
}
public String getElementName() {
return "feature";
}
public String getNamespace() {
return "http://jabber.org/protocol/feature-neg";
}
public String toXML() {
return "<feature xmlns=\"http://jabber.org/protocol/feature-neg\">" + this.data.toXML() + "</feature>";
}
}
public static class File implements PacketExtension {
private Date date;
private String desc;
private String hash;
private boolean isRanged;
private final String name;
private final long size;
public File(String str, long j) {
Objects.requireNonNull(str, "name cannot be null");
this.name = str;
this.size = j;
}
public Date getDate() {
return this.date;
}
public String getDesc() {
return this.desc;
}
public String getElementName() {
return "file";
}
public String getHash() {
return this.hash;
}
public String getName() {
return this.name;
}
public String getNamespace() {
return "http://jabber.org/protocol/si/profile/file-transfer";
}
public long getSize() {
return this.size;
}
public boolean isRanged() {
return this.isRanged;
}
public void setDate(Date date) {
this.date = date;
}
public void setDesc(String str) {
this.desc = str;
}
public void setHash(String str) {
this.hash = str;
}
public void setRanged(boolean z) {
this.isRanged = z;
}
public String toXML() {
StringBuilder sb = new StringBuilder();
sb.append("<");
sb.append(getElementName());
sb.append(" xmlns=\"");
sb.append(getNamespace());
sb.append("\" ");
if (getName() != null) {
sb.append("name=\"");
sb.append(StringUtils.escapeForXML(getName()));
sb.append("\" ");
}
if (getSize() > 0) {
sb.append("size=\"");
sb.append(getSize());
sb.append("\" ");
}
if (getDate() != null) {
sb.append("date=\"");
sb.append(StringUtils.formatXEP0082Date(this.date));
sb.append("\" ");
}
if (getHash() != null) {
sb.append("hash=\"");
sb.append(getHash());
sb.append("\" ");
}
String str = this.desc;
if ((str == null || str.length() <= 0) && !this.isRanged) {
sb.append("/>");
} else {
sb.append(">");
if (getDesc() != null && this.desc.length() > 0) {
sb.append("<desc>");
sb.append(StringUtils.escapeForXML(getDesc()));
sb.append("</desc>");
}
if (isRanged()) {
sb.append("<range/>");
}
sb.append("</");
sb.append(getElementName());
sb.append(">");
}
return sb.toString();
}
}
public String getChildElementXML() {
StringBuilder sb = new StringBuilder();
if (getType().equals(IQ.Type.SET)) {
sb.append("<si xmlns=\"http://jabber.org/protocol/si\" ");
if (getSessionID() != null) {
sb.append("id=\"");
sb.append(getSessionID());
sb.append("\" ");
}
if (getMimeType() != null) {
sb.append("mime-type=\"");
sb.append(getMimeType());
sb.append("\" ");
}
sb.append("profile=\"http://jabber.org/protocol/si/profile/file-transfer\">");
String xml = this.file.toXML();
if (xml != null) {
sb.append(xml);
}
} else {
if (!getType().equals(IQ.Type.RESULT)) {
throw new IllegalArgumentException("IQ Type not understood");
}
sb.append("<si xmlns=\"http://jabber.org/protocol/si\">");
}
Feature feature = this.featureNegotiation;
if (feature != null) {
sb.append(feature.toXML());
}
sb.append("</si>");
return sb.toString();
}
public DataForm getFeatureNegotiationForm() {
return this.featureNegotiation.getData();
}
public File getFile() {
return this.file;
}
public String getMimeType() {
return this.mimeType;
}
public String getSessionID() {
return this.id;
}
public void setFeatureNegotiationForm(DataForm dataForm) {
this.featureNegotiation = new Feature(dataForm);
}
public void setFile(File file) {
this.file = file;
}
public void setMimeType(String str) {
this.mimeType = str;
}
public void setSesssionID(String str) {
this.id = str;
}
}