@Command(name = "mycommand", description = "This is my command line application.")
public class MyCommand {
@Argument(index = 0, description = "Input file path.")
private String inputFile;
@Option(names = {"-o", "--output"}, description = "Output file path.")
private String outputFile;
// Getters and setters
// Command processing logic
public void run() {
// Process the command
}
}
Command command = new MyCommand();
Command.CommandResult commandResult = command.parse(args);
if (commandResult.errors().isEmpty()) {
// No errors, process the command
((MyCommand) command).run();
} else {
// Handle errors
System.out.println(commandResult.errors());
}