Maintenance: updated dependency library version. Fixed Maven repository URL.
[javainspect.git] / src / main / java / eu / svjatoslav / inspector / java / commandline / CommandlineConfiguration.java
index 933a95d..5af0950 100644 (file)
@@ -1,7 +1,8 @@
 package eu.svjatoslav.inspector.java.commandline;
 
-import eu.svjatoslav.commons.commandline.parameterparser.Parser;
-import eu.svjatoslav.commons.commandline.parameterparser.parameter.*;
+
+import eu.svjatoslav.commons.cli_helper.parameter_parser.Parser;
+import eu.svjatoslav.commons.cli_helper.parameter_parser.parameter.*;
 
 public class CommandlineConfiguration {
 
@@ -10,17 +11,21 @@ public class CommandlineConfiguration {
     private NullParameter showDebug;
     public StringParameters whitelistGlob;
     public StringParameters blacklistGlob;
+    public StringParameters rootClasses;
+    public NullParameter showHelp;
     public TargetImageTypeParameter targetImageType;
     public NullParameter keepDotFile;
     public DirectoryParameter targetDirectory;
+    public DirectoryParameters classPaths;
     public final boolean configurationOk;
     public NullParameter hideOrphanedClasses;
+    Parser parser;
+
+    public static final String DEFAULT_GRAPH_NAME = "graph";
 
-    public CommandlineConfiguration(String args[]) {
-        Parser parser = buildCommandlineParameterParser();
+    public CommandlineConfiguration(String[] args) {
+        parser = buildCommandlineParameterParser();
         configurationOk = parser.parse(args);
-        if (!configurationOk)
-            parser.showHelp();
     }
 
     public boolean isDebug() {
@@ -35,22 +40,29 @@ public class CommandlineConfiguration {
                 .mustExist()
                 .addAliases("-j");
 
+        classPaths = parser.add(
+                        new DirectoryParameters("Classpath directories"))
+                .mustExist()
+                .addAliases("-c");
+
         graphName = parser.add(
-                new StringParameter("Graph name."))
-                .setMandatory()
+                new StringParameter("Graph name. (default: \"" + DEFAULT_GRAPH_NAME + "\")", DEFAULT_GRAPH_NAME))
                 .addAliases("-n");
 
         showDebug = parser.add(
                 new NullParameter("Show debug info."))
                 .addAliases("--debug");
 
+        showHelp = parser.add(new NullParameter("Show commandline usage help."))
+                .addAliases("-h", "--help");
+
         keepDotFile = parser.add(
                 new NullParameter("Keep dot file."))
                 .addAliases("-k");
 
         hideOrphanedClasses = parser.add(
                 new NullParameter("Hide orphaned classes."))
-                .addAliases("-h");
+                .addAliases("-ho");
 
         whitelistGlob = parser.add(
                 new StringParameters("Whitelist glob(s)."))
@@ -60,6 +72,11 @@ public class CommandlineConfiguration {
                 new StringParameters("Blacklist glob(s)."))
                 .addAliases("-b");
 
+        rootClasses = parser.add(
+                        new StringParameters("root class(es)."))
+                .addAliases("-r");
+
+
         targetDirectory = parser.add(new DirectoryParameter("Target directory. " +
                 "Default is current directory.").mustExist())
                 .addAliases("-d");