diff options
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java')
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java index dbc61e24..378588eb 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java @@ -34,7 +34,6 @@ public class ArgumentHandler { /** * SLF4J Logger instance **/ - @SuppressWarnings("unused") private static final Logger log = LoggerFactory .getLogger(ArgumentHandler.class); @@ -65,21 +64,27 @@ public class ArgumentHandler { /** * Adds a CLIArgument to the handler * - * @param arg + * @param cliArgument the CLIArgument subclass to add */ - public void addCLIArgument(CLIArgument arg) { - if (arg == null) { - return; - } + public void addCLIArgument(Class<? extends CLIArgument> cliArgument) { - String[] commandOptions = arg.getCommandOptions(); + CLIArgument arg; + try { + arg = cliArgument.newInstance(); - if (commandOptions == null) { - return; - } + arg.setStateMachine(this.stateMachine); + + String[] commandOptions = arg.getCommandOptions(); - for (int i = 0; i < commandOptions.length; i++) { - this.cliArguments.put(commandOptions[i], arg); + if (commandOptions == null) { + return; + } + + for (int i = 0; i < commandOptions.length; i++) { + this.cliArguments.put(commandOptions[i], arg); + } + } catch (Exception e) { + log.error("Error instantiating CLI argument" , e); //$NON-NLS-1$ } } @@ -93,13 +98,11 @@ public class ArgumentHandler { for (int i = 0; i < args.length; i++) { if (this.cliArguments.containsKey(args[i])) { - i = this.cliArguments.get(args[i]).handleArgument(args, i, - this.stateMachine, this); + i = this.cliArguments.get(args[i]).handleArgument(args, i, this); } else { // Assume we got the document we want to sign if (this.cliArguments.containsKey("-i")) { //$NON-NLS-1$ - i = this.cliArguments.get("-i").handleArgument(args, i-1, //$NON-NLS-1$ - this.stateMachine, this); + i = this.cliArguments.get("-i").handleArgument(args, i-1, this); //$NON-NLS-1$ } } } |