diff options
Diffstat (limited to 'openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java')
-rw-r--r-- | openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java new file mode 100644 index 0000000000..b8d1d51bf5 --- /dev/null +++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java @@ -0,0 +1,44 @@ +package org.openecomp.core.tools.commands; + +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.DefaultParser; +import org.apache.commons.cli.HelpFormatter; +import org.apache.commons.cli.Option; +import org.apache.commons.cli.Options; +import org.apache.commons.cli.ParseException; + +public abstract class Command { + + static final String COMMAND_OPTION = "c"; + protected final Options options = new Options(); + + protected Command() { + options.addOption( + Option.builder(COMMAND_OPTION).hasArg().argName("command").desc(getCommandName().name()).build()); + } + + protected CommandLine parseArgs(String[] args) { + CommandLineParser parser = new DefaultParser(); + CommandLine cmd; + try { + cmd = parser.parse(options, args); + } catch (ParseException e) { + throw new RuntimeException(e); + } + return cmd; + } + + public void printUsage() { + HelpFormatter formater = new HelpFormatter(); + formater.printHelp("zusammenMainTool", options); + } + + public void register(){ + CommandsHolder.addCommand(this); + } + + public abstract boolean execute(String[] args); + + public abstract CommandName getCommandName(); +} |