正在查看: bbinstant v6.24.0 应用的 JivePropertiesExtension.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: bbinstant v6.24.0 应用的 JivePropertiesExtension.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.jivesoftware.smackx.jiveproperties.packet;
import java.io.Serializable;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.logging.Logger;
import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.Message;
public class JivePropertiesExtension implements ExtensionElement {
public static final String ELEMENT = "properties";
private static final Logger LOGGER = Logger.getLogger(JivePropertiesExtension.class.getName());
public static final String NAMESPACE = "http://www.jivesoftware.com/xmlns/xmpp/properties";
private final Map<String, Object> properties;
public JivePropertiesExtension() {
this.properties = new HashMap();
}
public static JivePropertiesExtension from(Message message) {
return (JivePropertiesExtension) message.getExtension("properties", NAMESPACE);
}
public synchronized void deleteProperty(String str) {
Map<String, Object> map = this.properties;
if (map == null) {
return;
}
map.remove(str);
}
@Override
public String getElementName() {
return "properties";
}
@Override
public String getNamespace() {
return NAMESPACE;
}
public synchronized Map<String, Object> getProperties() {
if (this.properties == null) {
return Collections.emptyMap();
}
return Collections.unmodifiableMap(new HashMap(this.properties));
}
public synchronized Object getProperty(String str) {
Map<String, Object> map = this.properties;
if (map == null) {
return null;
}
return map.get(str);
}
public synchronized Collection<String> getPropertyNames() {
if (this.properties == null) {
return Collections.emptySet();
}
return Collections.unmodifiableSet(new HashSet(this.properties.keySet()));
}
public synchronized void setProperty(String str, Object obj) {
if (!(obj instanceof Serializable)) {
throw new IllegalArgumentException("Value must be serialiazble");
}
this.properties.put(str, obj);
}
@Override
public java.lang.CharSequence toXML() {
throw new UnsupportedOperationException("Method not decompiled: org.jivesoftware.smackx.jiveproperties.packet.JivePropertiesExtension.toXML():java.lang.CharSequence");
}
public JivePropertiesExtension(Map<String, Object> map) {
this.properties = map;
}
}