summaryrefslogtreecommitdiffstats
path: root/src/test/java/com/beust/jcommander/args
diff options
context:
space:
mode:
authorCedric Beust <cedric@beust.com>2011-11-22 14:47:22 -0800
committerCedric Beust <cedric@beust.com>2011-11-22 14:47:22 -0800
commit3e7cb52cbf4ca537cafb6617b20387225672ad1a (patch)
treeb3a1206360abcee97af0e5b4ca7c88a2ea132f39 /src/test/java/com/beust/jcommander/args
parent7322df3cceed3a45be4a26c9023cdd89cfd180e2 (diff)
downloadplatform_external_jcommander-3e7cb52cbf4ca537cafb6617b20387225672ad1a.tar.gz
platform_external_jcommander-3e7cb52cbf4ca537cafb6617b20387225672ad1a.tar.bz2
platform_external_jcommander-3e7cb52cbf4ca537cafb6617b20387225672ad1a.zip
Better handling for fields of type List.
Diffstat (limited to 'src/test/java/com/beust/jcommander/args')
-rw-r--r--src/test/java/com/beust/jcommander/args/ArgsConverter.java9
-rw-r--r--src/test/java/com/beust/jcommander/args/ArgsList.java49
2 files changed, 52 insertions, 6 deletions
diff --git a/src/test/java/com/beust/jcommander/args/ArgsConverter.java b/src/test/java/com/beust/jcommander/args/ArgsConverter.java
index 4e32cae..159ed78 100644
--- a/src/test/java/com/beust/jcommander/args/ArgsConverter.java
+++ b/src/test/java/com/beust/jcommander/args/ArgsConverter.java
@@ -19,9 +19,6 @@
package com.beust.jcommander.args;
import com.beust.jcommander.Parameter;
-import com.beust.jcommander.converters.CommaSeparatedBigDecimalConverter;
-import com.beust.jcommander.converters.CommaSeparatedIntConverter;
-import com.beust.jcommander.converters.CommaSeparatedStringConverter;
import com.beust.jcommander.converters.FileConverter;
import java.io.File;
@@ -33,12 +30,12 @@ public class ArgsConverter {
@Parameter(names = "-file", converter = FileConverter.class)
public File file;
- @Parameter(names = "-listStrings", converter = CommaSeparatedStringConverter.class)
+ @Parameter(names = "-listStrings")
public List<String> listStrings;
- @Parameter(names = "-listInts", converter = CommaSeparatedIntConverter.class)
+ @Parameter(names = "-listInts")
public List<Integer> listInts;
- @Parameter(names = "-listBigDecimals", converter = CommaSeparatedBigDecimalConverter.class)
+ @Parameter(names = "-listBigDecimals")
public List<BigDecimal> listBigDecimals;
}
diff --git a/src/test/java/com/beust/jcommander/args/ArgsList.java b/src/test/java/com/beust/jcommander/args/ArgsList.java
new file mode 100644
index 0000000..e827773
--- /dev/null
+++ b/src/test/java/com/beust/jcommander/args/ArgsList.java
@@ -0,0 +1,49 @@
+package com.beust.jcommander.args;
+
+import com.beust.jcommander.HostPort;
+import com.beust.jcommander.HostPortConverter;
+import com.beust.jcommander.IStringConverter;
+import com.beust.jcommander.Parameter;
+import com.beust.jcommander.converters.IParameterSplitter;
+
+import org.testng.collections.Lists;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class ArgsList {
+ @Parameter(names = "-groups", description = "Comma-separated list of group names to be run")
+ public List<String> groups;
+
+ @Parameter(names = "-ints")
+ public List<Integer> ints;
+
+ @Parameter(names = "-hp", converter = HostPortConverter.class, splitter = SemiColonSplitter.class)
+ public List<HostPort> hostPorts;
+
+ @Parameter(names = "-hp2", converter = HostPortConverter.class)
+ public List<HostPort> hp2;
+
+ @Parameter(names = "-uppercase", listConverter = UppercaseConverter.class)
+ public List<String> uppercase;
+
+ public static class UppercaseConverter implements IStringConverter<List<String>> {
+ public List<String> convert(String value) {
+ List<String> result = Lists.newArrayList();
+ String[] s = value.split(",");
+ for (String p : s) {
+ result.add(p.toUpperCase());
+ }
+ return result;
+ }
+ }
+
+ public static class SemiColonSplitter implements IParameterSplitter {
+
+ public List<String> split(String value) {
+ return Arrays.asList(value.split(";"));
+ }
+
+ }
+
+}