XmlHelper.java

 1package eu.siacs.conversations.utils;
 2
 3import com.google.common.base.Joiner;
 4import com.google.common.collect.Iterables;
 5import com.google.common.collect.Lists;
 6
 7import eu.siacs.conversations.xml.Element;
 8
 9import java.util.Collection;
10import java.util.Collections;
11import java.util.List;
12
13public class XmlHelper {
14    public static String encodeEntities(String content) {
15        content = content.replace("&", "&");
16        content = content.replace("<", "&lt;");
17        content = content.replace(">", "&gt;");
18        content = content.replace("\"", "&quot;");
19        content = content.replace("'", "&apos;");
20        content = content.replaceAll("[\\p{Cntrl}&&[^\n\t\r]]", "");
21        return content;
22    }
23
24    public static String printElementNames(final Element element) {
25        final List<String> features =
26                element == null
27                        ? Collections.emptyList()
28                        : Lists.transform(
29                                element.getChildren(),
30                                child -> child != null ? child.getName() : null);
31        return Joiner.on(", ").join(features);
32    }
33
34    public static String print(final Collection<Element> children) {
35        if (children == null) {
36            return null;
37        }
38        return Joiner.on("").join(Iterables.transform(children, Element::toString));
39    }
40}