4c2cbd7969c0fdb1e4295954cd68104d84c77cba
[javainspect.git] / src / main / java / eu / svjatoslav / inspector / java / CommandlineConfiguration.java
1 package eu.svjatoslav.inspector.java;
2
3 import eu.svjatoslav.commons.commandline.parameterparser.Parser;
4 import eu.svjatoslav.commons.commandline.parameterparser.parameter.FileParameter;
5 import eu.svjatoslav.commons.commandline.parameterparser.parameter.StringParameter;
6 import eu.svjatoslav.commons.commandline.parameterparser.parameter.StringParameters;
7
8 public class CommandlineConfiguration {
9
10     public CommandlineConfiguration (String args[]){
11         Parser parser = buildCommandlineParameterParser();
12         if (!parser.parse(args)) {
13             parser.showHelp();
14         }
15     }
16
17     public Parser buildCommandlineParameterParser() {
18         Parser parser = new Parser();
19
20         parser.add(
21                 new FileParameter("JAR file"))
22                 .mustExist()
23                 .addAliases("-j");
24
25         parser.add(
26                 new StringParameter("graph name"))
27                 .setMandatory()
28                 .addAliases("-n");
29
30         parser.add(
31                 new StringParameters("whitelist glob"))
32                 .addAliases("-w");
33
34         parser.add(
35                 new StringParameters("blacklist glob"))
36                 .addAliases("-b");
37
38         return parser;
39     }
40
41 }