Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package com.yammer.dropwizard.cli;
The command-line runner for Dropwizard services.
public class Cli {
    private static final String COMMAND_NAME_ATTR = "command";
    private static final String[] HELP = { "-h" };
    private final SortedMap<StringCommandcommands;
    private final Bootstrap<?> bootstrap;
    private final ArgumentParser parser;

Create a new CLI interface for a service and its bootstrapped environment.

serviceClass the service class
bootstrap the bootstrap for the service
    public Cli(Class<?> serviceClassBootstrap<?> bootstrap) {
        this. = Maps.newTreeMap();
        this. = buildParser(serviceClass);
        this. = bootstrap;
        for (Command command : bootstrap.getCommands()) {

Runs the command line interface given some arguments.

arguments the command line arguments
java.lang.Exception if something goes wrong
    public void run(String[] argumentsthrows Exception {
        try {
            // assume -h if no arguments are given
            final String[] args = (arguments.length == 0) ?  : arguments;
            final Namespace namespace = .parseArgs(args);
            final Command command = .get(namespace.getString());
        } catch (ArgumentParserException e) {
    private ArgumentParser buildParser(Class<?> serviceClass) {
        final String usage = "java -jar " + new JarLocation(serviceClass);
        final ArgumentParser p = ArgumentParsers.newArgumentParser(usage)
        final Package pkg = serviceClass.getPackage();
        final String version = pkg != null ? pkg.getImplementationVersion() :
                "No service version detected. Add a Implementation-Version " +
                "entry to your JAR's manifest to enable this.";
         .action(new VersionArgumentAction())
         .help("show the service version and exit");
        return p;
    private void addCommand(Command command) {
        .put(command.getName(), command);
        .addSubparsers().help("available commands");
        final Subparser subparser = .addSubparsers().addParser(command.getName());
New to GrepCode? Check out our FAQ X