导航菜单

页面标题

页面副标题

95爱播免登录版 v3.1.9 - MetaDataUtils.java 源代码

正在查看: 95爱播免登录版 v3.1.9 应用的 MetaDataUtils.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package org.jivesoftware.smackx.workgroup.util;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import org.jivesoftware.smack.util.StringUtils;
import org.jivesoftware.smackx.workgroup.MetaData;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;

public class MetaDataUtils {
    public static Map<String, List<String>> parseMetaData(XmlPullParser xmlPullParser) throws XmlPullParserException, IOException {
        if (xmlPullParser.getEventType() != 2 || !xmlPullParser.getName().equals(MetaData.ELEMENT_NAME) || !xmlPullParser.getNamespace().equals("http://jivesoftware.com/protocol/workgroup")) {
            return Collections.emptyMap();
        }
        Hashtable hashtable = new Hashtable();
        int nextTag = xmlPullParser.nextTag();
        while (true) {
            if (nextTag == 3 && xmlPullParser.getName().equals(MetaData.ELEMENT_NAME)) {
                return hashtable;
            }
            String attributeValue = xmlPullParser.getAttributeValue(0);
            String nextText = xmlPullParser.nextText();
            if (hashtable.containsKey(attributeValue)) {
                ((List) hashtable.get(attributeValue)).add(nextText);
            } else {
                ArrayList arrayList = new ArrayList();
                arrayList.add(nextText);
                hashtable.put(attributeValue, arrayList);
            }
            nextTag = xmlPullParser.nextTag();
        }
    }

    public static String serializeMetaData(Map<String, List<String>> map) {
        StringBuilder sb = new StringBuilder();
        if (map != null && map.size() > 0) {
            sb.append("<metadata xmlns=\"http://jivesoftware.com/protocol/workgroup\">");
            for (String str : map.keySet()) {
                for (String str2 : map.get(str)) {
                    sb.append("<value name=\"");
                    sb.append(str);
                    sb.append("\">");
                    sb.append(StringUtils.escapeForXML(str2));
                    sb.append("</value>");
                }
            }
            sb.append("</metadata>");
        }
        return sb.toString();
    }
}