diff options
author | Cedric Beust <cedric@beust.com> | 2011-11-22 14:47:22 -0800 |
---|---|---|
committer | Cedric Beust <cedric@beust.com> | 2011-11-22 14:47:22 -0800 |
commit | 3e7cb52cbf4ca537cafb6617b20387225672ad1a (patch) | |
tree | b3a1206360abcee97af0e5b4ca7c88a2ea132f39 /src/test/java/com/beust/jcommander/args | |
parent | 7322df3cceed3a45be4a26c9023cdd89cfd180e2 (diff) | |
download | platform_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.java | 9 | ||||
-rw-r--r-- | src/test/java/com/beust/jcommander/args/ArgsList.java | 49 |
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(";")); + } + + } + +} |