正在查看: Housing v14.7.8 应用的 XmppXmlSplitter.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Housing v14.7.8 应用的 XmppXmlSplitter.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.jxmpp.xml.splitter;
import java.io.IOException;
import java.util.Collections;
import java.util.Map;
public class XmppXmlSplitter extends XmlSplitter {
private final int maxElementSize;
private String streamPrefix;
private final XmppElementCallback xmppElementCallback;
public XmppXmlSplitter(XmppElementCallback xmppElementCallback) {
this(10000, xmppElementCallback);
}
@Override
public void onEndTag(String str) {
String str2 = this.streamPrefix;
if (str2 == null || !str.startsWith(str2)) {
return;
}
if ((this.streamPrefix + ":stream").equals(str)) {
this.xmppElementCallback.streamClosed();
}
}
@Override
public void onNextChar() throws IOException {
if (getCurrentElementSize() >= this.maxElementSize) {
throw new IOException("Max element size exceeded");
}
}
@Override
public void onStartTag(String str, String str2, Map<String, String> map) {
if ("stream".equals(str2)) {
if ("http://etherx.jabber.org/streams".equals(map.get("xmlns:" + str))) {
this.streamPrefix = str;
newTopLevelElement();
this.xmppElementCallback.streamOpened(str, Collections.unmodifiableMap(map));
}
}
}
public XmppXmlSplitter(int i, XmppElementCallback xmppElementCallback) {
super(i, xmppElementCallback);
this.maxElementSize = i;
this.xmppElementCallback = xmppElementCallback;
}
}