package aQute.lib.collections; import java.util.ArrayList; import java.util.Collection; public class ExtList<T> extends ArrayList<T> { private static final long serialVersionUID = 1L; @SafeVarargs public ExtList(T... ts) { super(ts.length); for (T t : ts) { add(t); } } public ExtList(int size) { super(size); } public ExtList(Collection< ? extends T> col) { super(col); } public ExtList(Iterable< ? extends T> col) { for (T t : col) add(t); } public static ExtList<String> from(String s) { // TODO make sure no \ before comma return from(s, "\\s*,\\s*"); } public static ExtList<String> from(String s, String delimeter) { ExtList<String> result = new ExtList<String>(); String[] parts = s.split(delimeter); for (String p : parts) result.add(p); return result; } public String join() { return join(","); } public String join(String del) { StringBuilder sb = new StringBuilder(); String d = ""; for (T t : this) { sb.append(d); d = del; if (t != null) sb.append(t); } return sb.toString(); } }