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("<", "<");
17 content = content.replace(">", ">");
18 content = content.replace("\"", """);
19 content = content.replace("'", "'");
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}