/*
* 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
* as published by the Free Software Foundation.
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());
+ }
}