Sync with latest bnd code for testing purposes
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1354104 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/SimpleListConverter.java b/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/SimpleListConverter.java
new file mode 100644
index 0000000..2291be3
--- /dev/null
+++ b/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/SimpleListConverter.java
@@ -0,0 +1,41 @@
+package aQute.bnd.build.model.conversions;
+
+import java.util.*;
+
+import aQute.lib.osgi.*;
+import aQute.libg.qtokens.*;
+
+public class SimpleListConverter<R> implements Converter<List<R>,String> {
+
+ private Converter< ? extends R, ? super String> itemConverter;
+
+ public static <R> Converter<List<R>,String> create(Converter<R, ? super String> itemConverter) {
+ return new SimpleListConverter<R>(itemConverter);
+ }
+
+ public static Converter<List<String>,String> create() {
+ return new SimpleListConverter<String>(new NoopConverter<String>());
+ }
+
+ private SimpleListConverter(Converter< ? extends R, ? super String> itemConverter) {
+ this.itemConverter = itemConverter;
+ }
+
+ public List<R> convert(String input) throws IllegalArgumentException {
+ List<R> result = new ArrayList<R>();
+
+ if (Constants.EMPTY_HEADER.equalsIgnoreCase(input.trim()))
+ return result;
+
+ QuotedTokenizer qt = new QuotedTokenizer(input, ",");
+ String token = qt.nextToken();
+
+ while (token != null) {
+ result.add(itemConverter.convert(token.trim()));
+ token = qt.nextToken();
+ }
+
+ return result;
+ }
+
+}