* You are expected to implement the {@link Application#run(CommandLine)} method
*
* @author jcechace
*/
public class Application {
@Parameter(names = "--help", help = true)
private boolean showUsage = false;
@Parameter(description = "Terminal Operation", converter = TerminalOperationConverter.class)
private TerminalOperation operation = TerminalOperation.LINES;
@Parameter(names = {"-u"})
private boolean filterUniqueLines = false;
@Parameter(names = {"-s"})
private boolean sortLines = false;
@Parameter(names = {"-d"})
private boolean filterDuplicateLines = false;
@Parameter(names = {"--file"})
private String path;
/**
* Application entry point
*
* @param args command line arguments of the application
*/
public static void main(String[] args) {
Application app = new Application();
CommandLine cli = new CommandLine(app);
cli.parseArguments(args);
if (app.showUsage) {
cli.showUsage();
} else {
app.run(cli);
}
}
/**
* Application runtime logic
*
* @param cli command line interface
*/
private void run(CommandLine cli) {
List