bbb57b2e06487ebd90ea68739e1b4089fec6a09e
[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.FileParameters;
5 import eu.svjatoslav.commons.commandline.parameterparser.parameter.NullParameter;
6 import eu.svjatoslav.commons.commandline.parameterparser.parameter.StringParameter;
7 import eu.svjatoslav.commons.commandline.parameterparser.parameter.StringParameters;
8
9 public class CommandlineConfiguration {
10
11     public FileParameters jarFiles;
12     public StringParameter graphName;
13     private NullParameter showDebug;
14
15     public CommandlineConfiguration (String args[]){
16         Parser parser = buildCommandlineParameterParser();
17         if (!parser.parse(args)) {
18             parser.showHelp();
19             return;
20         }
21
22     }
23
24     public boolean isDebug(){
25         return showDebug.isSpecified();
26     }
27
28     public Parser buildCommandlineParameterParser() {
29         Parser parser = new Parser();
30
31         jarFiles = parser.add(
32                 new FileParameters("JAR file(s)"))
33                 .mustExist()
34                 .addAliases("-j");
35
36         graphName = parser.add(
37                 new StringParameter("graph name"))
38                 .setMandatory()
39                 .addAliases("-n");
40
41         showDebug = parser.add(
42                 new NullParameter("show debug info"))
43                 .addAliases("-d");
44
45         parser.add(
46                 new StringParameters("whitelist glob"))
47                 .addAliases("-w");
48
49         parser.add(
50                 new StringParameters("blacklist glob"))
51                 .addAliases("-b");
52
53         return parser;
54     }
55
56 }