Updated copyright message.
[meviz.git] / src / main / java / eu / svjatoslav / meviz / Main.java
index f78bf81..5ff33bc 100755 (executable)
@@ -1,6 +1,6 @@
 /*
  * Meviz - Various tools collection to work with multimedia.
- * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
+ * Copyright (C) 2012 -- 2018, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
  * 
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 2 of the GNU General Public License
@@ -9,87 +9,85 @@
 
 package eu.svjatoslav.meviz;
 
-import java.util.ArrayList;
-
 import eu.svjatoslav.meviz.encoder.Encoder;
 
-public class Main {
+import java.util.ArrayList;
+
+class Main {
 
-       public static ArrayList<Module> modules;
+    private static ArrayList<Module> modules;
 
-       public static String[] getRemainingOptions(final String[] options) {
-               final String[] remainingOptions = new String[options.length - 1];
+    private static String[] getRemainingOptions(final String[] options) {
+        final String[] remainingOptions = new String[options.length - 1];
 
-               for (int i = 1; i < options.length; i++)
-                       remainingOptions[i - 1] = options[i];
+        System.arraycopy(options, 1, remainingOptions, 0, options.length - 1);
 
-               return remainingOptions;
-       };
+        return remainingOptions;
+    }
 
-       public static void initModules() {
-               modules = new ArrayList<Module>();
+    private static void initModules() {
+        modules = new ArrayList<>();
 
-               modules.add(new Encoder());
-               modules.add(new eu.svjatoslav.meviz.htmlindexer.Main());
-               modules.add(new eu.svjatoslav.meviz.renamer.Main());
-               modules.add(new eu.svjatoslav.meviz.grabmemcard.Main());
-               modules.add(new eu.svjatoslav.meviz.texttruncate.Main());
-               modules.add(new eu.svjatoslav.meviz.textsplitter.Main());
-               modules.add(new eu.svjatoslav.meviz.bomremove.Main());
-       }
+        modules.add(new Encoder());
+        modules.add(new eu.svjatoslav.meviz.htmlindexer.Main());
+        modules.add(new eu.svjatoslav.meviz.renamer.Main());
+        modules.add(new eu.svjatoslav.meviz.grabmemcard.Main());
+        modules.add(new eu.svjatoslav.meviz.bomremove.Main());
+        modules.add(new eu.svjatoslav.meviz.replace.Main());
+    }
 
-       public static void main(final String[] args) throws Exception {
+    public static void main(final String[] args) throws Exception {
 
-               initModules();
+        initModules();
 
-               if (args.length < 1)
-                       showHelp();
-               else if (args[0].equals("help")) {
-                       if (args.length != 2)
-                               showHelp();
-                       else {
+        if (args.length < 1)
+            showHelp();
+        else if (args[0].equals("help")) {
+            if (args.length != 2)
+                showHelp();
+            else {
 
-                               for (final Module module : modules)
-                                       if (args[1].equals(module.getModuleCommand())) {
-                                               module.showCommandlineHelp();
-                                               return;
-                                       }
+                for (final Module module : modules)
+                    if (args[1].equals(module.getModuleCommand())) {
+                        module.showCommandlineHelp();
+                        return;
+                    }
 
-                               System.out.println("Error: unrecognized module by name:"
-                                               + args[1] + "\n");
-                               showHelp();
+                System.out.println("Error: unrecognized module by name:"
+                        + args[1] + "\n");
+                showHelp();
 
-                       }
-               } else {
+            }
+        } else {
 
-                       for (final Module module : modules)
-                               if (args[0].equals(module.getModuleCommand())) {
-                                       module.run(getRemainingOptions(args));
-                                       return;
-                               }
+            for (final Module module : modules)
+                if (args[0].equals(module.getModuleCommand())) {
+                    module.run(getRemainingOptions(args));
+                    return;
+                }
 
-                       System.out.println("Error: unrecognized commandline option:"
-                                       + args[0] + "\n");
-                       showHelp();
-               }
+            System.out.println("Error: unrecognized commandline option:"
+                    + args[0] + "\n");
+            showHelp();
+        }
 
-       }
+    }
 
-       public static void showHelp() {
-               final StringBuffer buffer = new StringBuffer();
+    private static void showHelp() {
+        final StringBuilder buffer = new StringBuilder();
 
-               buffer.append("Commandline options: \n"
-                               + "help\n    show this help screen \n\n");
+        buffer.append("Commandline options: \n"
+                + "help\n    show this help screen \n\n");
 
-               buffer.append("help <module>\n    show module specific help screen\n\n");
+        buffer.append("help <module>\n    show module specific help screen\n\n");
 
-               buffer.append("Available modules:\n\n");
+        buffer.append("Available modules:\n\n");
 
-               for (final Module module : modules) {
-                       buffer.append(module.getModuleCommand() + "\n");
-                       buffer.append("    " + module.getDescription() + "\n\n");
-               }
+        for (final Module module : modules) {
+            buffer.append(module.getModuleCommand() + "\n");
+            buffer.append("    " + module.getDescription() + "\n\n");
+        }
 
-               System.out.println(buffer.toString());
-       }
+        System.out.println(buffer.toString());
+    }
 }