package org.erlide.util; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.eclipse.xtext.xbase.lib.Functions; import org.eclipse.xtext.xbase.lib.ListExtensions; public final class PreferencesUtils { private static final String SEP = ";"; public static String packList(final Iterable<String> list) { return ListsUtils.packList(list, SEP); } public static List<String> unpackList(final String string) { List<String> result = ListsUtils.unpackList(string, SEP); result = ListExtensions.map(result, new Functions.Function1<String, String>() { @Override public String apply(final String p) { return p.trim(); } }); return result; } public static String packArray(final String[] strs) { final StringBuilder result = new StringBuilder(); for (final String s : strs) { if (s.length() > 0) { result.append(s.trim()).append(SEP); } } final String r = result.length() == 0 ? "" : result.substring(0, result.length() - SEP.length()); return r; } public static String[] unpackArray(final String str) { return unpackList(str).toArray(new String[0]); } public static List<String> readFile(final String file) { final List<String> res = new ArrayList<>(); try (final BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; while ((line = reader.readLine()) != null) { if (line.length() > 0) { res.add(line); } } } catch (final IOException e) { } return res; } private PreferencesUtils() { } }