Migrating to latest svjatoslav-commons.
[javainspect.git] / src / main / java / eu / svjatoslav / inspector / java / CommandlineConfiguration.java
diff --git a/src/main/java/eu/svjatoslav/inspector/java/CommandlineConfiguration.java b/src/main/java/eu/svjatoslav/inspector/java/CommandlineConfiguration.java
new file mode 100644 (file)
index 0000000..4c2cbd7
--- /dev/null
@@ -0,0 +1,41 @@
+package eu.svjatoslav.inspector.java;
+
+import eu.svjatoslav.commons.commandline.parameterparser.Parser;
+import eu.svjatoslav.commons.commandline.parameterparser.parameter.FileParameter;
+import eu.svjatoslav.commons.commandline.parameterparser.parameter.StringParameter;
+import eu.svjatoslav.commons.commandline.parameterparser.parameter.StringParameters;
+
+public class CommandlineConfiguration {
+
+    public CommandlineConfiguration (String args[]){
+        Parser parser = buildCommandlineParameterParser();
+        if (!parser.parse(args)) {
+            parser.showHelp();
+        }
+    }
+
+    public Parser buildCommandlineParameterParser() {
+        Parser parser = new Parser();
+
+        parser.add(
+                new FileParameter("JAR file"))
+                .mustExist()
+                .addAliases("-j");
+
+        parser.add(
+                new StringParameter("graph name"))
+                .setMandatory()
+                .addAliases("-n");
+
+        parser.add(
+                new StringParameters("whitelist glob"))
+                .addAliases("-w");
+
+        parser.add(
+                new StringParameters("blacklist glob"))
+                .addAliases("-b");
+
+        return parser;
+    }
+
+}