You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.3 KiB
51 lines
1.3 KiB
4 months ago
|
JCommander
|
||
|
==========
|
||
|
|
||
|
This is an annotation based parameter parsing framework for Java 8.
|
||
|
|
||
|
Here is a quick example:
|
||
|
|
||
|
```java
|
||
|
public class JCommanderTest {
|
||
|
@Parameter
|
||
|
public List<String> parameters = Lists.newArrayList();
|
||
|
|
||
|
@Parameter(names = { "-log", "-verbose" }, description = "Level of verbosity")
|
||
|
public Integer verbose = 1;
|
||
|
|
||
|
@Parameter(names = "-groups", description = "Comma-separated list of group names to be run")
|
||
|
public String groups;
|
||
|
|
||
|
@Parameter(names = "-debug", description = "Debug mode")
|
||
|
public boolean debug = false;
|
||
|
|
||
|
@DynamicParameter(names = "-D", description = "Dynamic parameters go here")
|
||
|
public Map<String, String> dynamicParams = new HashMap<String, String>();
|
||
|
|
||
|
}
|
||
|
```
|
||
|
|
||
|
and how you use it:
|
||
|
|
||
|
```java
|
||
|
JCommanderTest jct = new JCommanderTest();
|
||
|
String[] argv = { "-log", "2", "-groups", "unit1,unit2,unit3",
|
||
|
"-debug", "-Doption=value", "a", "b", "c" };
|
||
|
new JCommander(jct, argv);
|
||
|
|
||
|
Assert.assertEquals(2, jct.verbose.intValue());
|
||
|
Assert.assertEquals("unit1,unit2,unit3", jct.groups);
|
||
|
Assert.assertEquals(true, jct.debug);
|
||
|
Assert.assertEquals("value", jct.dynamicParams.get("option"));
|
||
|
Assert.assertEquals(Arrays.asList("a", "b", "c"), jct.parameters);
|
||
|
```
|
||
|
|
||
|
The full doc is available at [http://jcommander.org](http://jcommander.org).
|
||
|
|
||
|
## Building JCommander
|
||
|
|
||
|
```
|
||
|
./kobaltw assemble
|
||
|
```
|
||
|
|