1 package eu.svjatoslav.inspector.java.commandline;
3 import eu.svjatoslav.commons.commandline.parameterparser.Parser;
4 import eu.svjatoslav.commons.commandline.parameterparser.parameter.*;
6 public class CommandlineConfiguration {
8 public FileParameters jarFiles;
9 public StringParameter graphName;
10 private NullParameter showDebug;
11 public StringParameters whitelistGlob;
12 public StringParameters blacklistGlob;
13 public TargetImageTypeParameter targetImageType;
14 public NullParameter keepDotFile;
15 public DirectoryParameter targetDirectory;
16 public final boolean configurationOk;
17 public NullParameter hideOrphanedClasses;
19 public CommandlineConfiguration(String args[]) {
20 Parser parser = buildCommandlineParameterParser();
21 configurationOk = parser.parse(args);
26 public boolean isDebug() {
27 return showDebug.isSpecified();
30 public Parser buildCommandlineParameterParser() {
31 Parser parser = new Parser();
33 jarFiles = parser.add(
34 new FileParameters("JAR file(s) to render."))
38 graphName = parser.add(
39 new StringParameter("Graph name."))
43 showDebug = parser.add(
44 new NullParameter("Show debug info."))
45 .addAliases("--debug");
47 keepDotFile = parser.add(
48 new NullParameter("Keep dot file."))
51 hideOrphanedClasses = parser.add(
52 new NullParameter("Hide orphaned classes."))
55 whitelistGlob = parser.add(
56 new StringParameters("Whitelist glob(s)."))
59 blacklistGlob = parser.add(
60 new StringParameters("Blacklist glob(s)."))
63 targetDirectory = parser.add(new DirectoryParameter("Target directory. " +
64 "Default is current directory.").mustExist())
67 targetImageType = parser.add(new TargetImageTypeParameter()).addAliases("-t");