package test;
import com.beust.jcommander.JCommander;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.beust.jcommander.ParameterException;
@Parameters(separators = "=")
public class Main
{
@Parameter(names={"--argval"})
String argval;
public static void main(String[] args)
{
JCommander jct;
Main main = new Main();
/* Case sensitive with separator is OK */
args = new String[] {"--argval=abc"};
jct = JCommander.newBuilder().addObject(main).build();
jct.setCaseSensitiveOptions(true);
jct.parse(args);
System.out.println("OK: " + main.argval);
/* Case in-sensitive with separator FAILS */
try
{
args = new String[] {"--ARGVAL=def"};
jct = JCommander.newBuilder().addObject(main).build();
jct.setCaseSensitiveOptions(false);
jct.parse(args); System.out.println("OK: " + main.argval);
}
catch (ParameterException e)
{
System.err.println("FAIL: " + e);
}
/* Case in-sensitive with no separator is OK */
args = new String[] {"--ARGVAL", "ghi"};
jct = JCommander.newBuilder().addObject(main).build();
jct.setCaseSensitiveOptions(false);
jct.parse(args);
System.out.println("OK: " + main.argval);
}
}
OK: abc
OK: def
OK: ghi
OK: abc
FAIL: com.beust.jcommander.ParameterException: Unknown option: --ARGVAL=def
OK: ghi