import de.jupf.jcli.annotations.Command;
import de.jupf.jcli.annotations.Option;
@Command(name = "myCommand", description = "This is a sample command.")
public class MyCommand {
@Option(names = {"-u", "--username"}, description = "Your username")
private String username;
@Option(names = {"-p", "--password"}, description = "Your password")
private String password;
public void execute() {
System.out.println("Username: " + username);
System.out.println("Password: " + password);
}
}
import de.jupf.jcli.CliRunner;
import de.jupf.jcli.JCommanderCommandLineInterface;
public class Main {
public static void main(String[] args) {
MyCommand command = new MyCommand();
CommandLineInterface cli = new JCommanderCommandLineInterface(command);
CliRunner runner = new CliRunner(cli);
runner.run(args);
}
}
java Main --username john --password secret
Username: john
Password: secret
import de.jupf.jcli.docopt.DocoptDocumentationGenerator;
import de.jupf.jcli.docopt.DocumentationType;
public class Main {
public static void main(String[] args) {
// ...
DocoptDocumentationGenerator generator = new DocoptDocumentationGenerator();
String documentation = generator.generateDocumentation(DocumentationType.PLAIN, MyCommand.class);
System.out.println(documentation);
}
}
This is a sample command.
Usage: myCommand [-h] [-u STRING] [-p STRING]
Options:
-h, --help Show this help message and exit.
-u STRING, --username STRING Your username.
-p STRING, --password STRING Your password.