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 groups; @Parameter(names = "-ints") public List ints; @Parameter(names = "-hp", converter = HostPortConverter.class, splitter = SemiColonSplitter.class) public List hostPorts; @Parameter(names = "-hp2", converter = HostPortConverter.class) public List hp2; @Parameter(names = "-uppercase", listConverter = UppercaseConverter.class) public List uppercase; public static class UppercaseConverter implements IStringConverter> { public List convert(String value) { List 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 split(String value) { return Arrays.asList(value.split(";")); } } }