Package org.locationtech.geogig.cli.porcelain

Source Code of org.locationtech.geogig.cli.porcelain.Help

/* Copyright (c) 2012-2014 Boundless and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Distribution License v1.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/org/documents/edl-v10.html
*
* Contributors:
* Michael Fawcett (LMN Solutions) - initial implementation
*/
package org.locationtech.geogig.cli.porcelain;

import java.util.ArrayList;
import java.util.List;

import org.locationtech.geogig.cli.CLICommand;
import org.locationtech.geogig.cli.GeogigCLI;
import org.locationtech.geogig.cli.annotation.ReadOnly;
import org.locationtech.geogig.cli.annotation.RequiresRepository;

import com.beust.jcommander.JCommander;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;

/**
* This command displays the usage for GeoGig or a specific command if provided.
* <p>
* Usage:
* <ul>
* <li> {@code geogig [--]help [<command>]}
* </ul>
*/
@ReadOnly
@RequiresRepository(false)
@Parameters(commandNames = { "--help", "help" }, commandDescription = "Print this help message, or provide a command name to get help for")
public class Help implements CLICommand {

    @Parameter
    private List<String> parameters = new ArrayList<String>();

    @Parameter(names = { "-a" }, description = "Show all commands")
    private boolean all;

    /**
     * Executes the help command.
     *
     * @param cli
     * @see org.locationtech.geogig.cli.CLICommand#run(org.locationtech.geogig.cli.GeogigCLI)
     */
    // @Override
    public void run(GeogigCLI cli) {

        JCommander jc = cli.newCommandParser();

        if (all) {
            cli.printCommandList(jc);
        } else {
            if (parameters.isEmpty()) {
                cli.printShortCommandList(jc);
            } else {
                String command = parameters.get(0);
                jc.usage(command);
            }
        }
    }

}
TOP

Related Classes of org.locationtech.geogig.cli.porcelain.Help

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.