@Arguments private List<String> arguments;
@CommandDefinition(name = "run", description = "") public static class RunCommand implements Command { @Arguments(required = true) private List<Resource> arguments; @Override public CommandResult execute(CommandInvocation commandInvocation) throws CommandException, InterruptedException { if (arguments != null && arguments.size() > 0 && arguments.get(0).isLeaf()) { try { List<String> script = readScriptFile(arguments.get(0)); for (String line : script) { commandInvocation.executeCommand(line + Config.getLineSeparator()); } } catch (Exception ex) { throw new CommandException(ex); } } return CommandResult.SUCCESS; } private List<String> readScriptFile(Resource resource) throws IOException { List<String> lines = new ArrayList<>(); BufferedReader br = new BufferedReader(new InputStreamReader(resource.read())); String line = br.readLine(); while (line != null) { if (line.trim().length() > 0 && !line.trim().startsWith("#")) lines.add(line); line = br.readLine(); } return lines; } }
public class UnAliasCommand implements Command<CommandInvocation> { @Arguments(completer = AliasCompletor.class) private List<String> arguments;
@CommandDefinition(name = "ask", description = "") public static class AskCommand implements Command { @Option(askIfNotSet = true) private String path; @Arguments(askIfNotSet = true) private List<String> args; @Override public CommandResult execute(CommandInvocation commandInvocation) throws CommandException, InterruptedException { commandInvocation.println("path is set to: "+path); if(args != null && args.size() > 0) commandInvocation.println("args[0] is: "+args.get(0)); return CommandResult.SUCCESS; } }
private boolean help; @Arguments private List<String> arguments;
private boolean help; @Arguments private List<Resource> arguments;
private boolean print; @Arguments(completer = AliasCompletor.class) private List<String> arguments;
private boolean help; @Arguments(completer = FileOptionCompleter.class, converter = FileResourceConverter.class) private List<Resource> arguments;
@CommandDefinition(name = "foo", description = "") public static class FooFormattedCommand implements Command { @Option(renderer = BarOptionRenderer.class, completer = FooCompletor.class) private String bar; @Option(shortName = 'n', completer = NameTestCompleter.class) private String name; @Arguments private List<String> arguments; @Override public CommandResult execute(CommandInvocation commandInvocation) throws CommandException, InterruptedException { return CommandResult.SUCCESS; } public String getName() { return name; } }
@CommandDefinition(name = "test", description = "more [options] file...") public class Parser2Test<CI extends CommandInvocation> extends TestingCommand<CI> { @Option(shortName = 'd', name = "display", description = "display help instead of ring bell") private String display; @Option(shortName = 'b', name = "bar", argument = "classname", required = true, description = "bar bar") private String bar; @Option(shortName = 'V', name = "version", description = "output version information and exit") private String version; @Arguments private List<String> arguments; }
private boolean help; @Arguments(description = "files or directories thats listed") private List<Resource> arguments;
@CommandDefinition(name = "foo", description = "") public static class FooCommand implements Command { @Option(completer = FooCompletor.class) private String bar; @Option(shortName = 'n', completer = NameTestCompleter.class) private String name; @Option(shortName = 'b', hasValue = false) private boolean bool; @Arguments private List<String> arguments; @Override public CommandResult execute(CommandInvocation commandInvocation) throws CommandException, InterruptedException { return CommandResult.SUCCESS; } public String getName() { return name; } }
@CommandDefinition(name = "test", description = "testing multiple values") public class Parser4Test<CI extends CommandInvocation> extends TestingCommand<CI> { @OptionList(shortName = 'o', name="option", valueSeparator = ',') private List<String> option; @OptionList private List<Integer> bar; @OptionList(shortName = 'h', valueSeparator = ':') private List<String> help; @OptionList(shortName = 'e', valueSeparator = ' ') private List<String> help2; @Arguments private List<String> arguments; }
@CommandDefinition(name = "test", description = "testing multiple values") public class Parser5Test<CI extends CommandInvocation> extends TestingCommand<CI> { @OptionList(shortName = 'f', name="foo", valueSeparator=' ') private List<String> foo; @Option(shortName = 'b', name="bar", hasValue = false) private Boolean bar; @Option(shortName = 'z', name="baz", hasValue = false) private Boolean baz; @OptionList(shortName = 'q', name="qux", valueSeparator=' ') private List<String> qux; @Arguments private List<String> arguments; }
@CommandDefinition(name = "foo", description = "", resultHandler = FooResultHandler.class) public static class FooCommand implements Command { @Option(required = true) private String foo; @Option private String name; @Option(hasValue = false) private boolean exception; @Arguments private List<String> arguments; @Override public CommandResult execute(CommandInvocation commandInvocation) throws CommandException, InterruptedException { if (name == null) { if (exception) { throw new CommandException("Exception occured, please fix options"); } else { return CommandResult.FAILURE; } } else return CommandResult.SUCCESS; } public String getName() { return name; } }
private TreeMap<String, Integer> define; @Arguments(required = true) private Set<File> arguments;
@CommandDefinition(name = "test", description = "a simple test", aliases = {"toto"}) public class Parser1Test<CI extends CommandInvocation> extends TestingCommand<CI> { @Option(shortName = 'X', name = "X", description = "enable X", hasValue = false) private Boolean enableX; @Option(shortName = 'f', name = "foo", description = "enable foo", hasValue = false) private Boolean foo; @Option(shortName = 'e', name = "equal", description = "enable equal", required = true) private String equal; @Option(shortName = 'c') private int connection; @OptionGroup(shortName = 'D', description = "define properties", required = true) private Map<String,String> define; @Arguments private List<String> arguments; }
@CommandDefinition(name = "test", description = "a simple test1") public class ParseCompleteTest1<CI extends CommandInvocation> extends TestCommand<CI> { @Option(name = "X", description = "enable X") private String X; @Option(shortName = 'f', name = "foo", description = "enable foo") private Boolean foo; @Option(shortName = 'e', name = "equal", description = "enable equal", required = true) private String equal; @Option(shortName = 'D', description = "define properties", required = true) private String define; @Option(name = "complex-value", shortName = 'c') private String complexValue; @Arguments(completer = ParseTestCompleter.class) private List<String> arguments; }
@CommandDefinition(name="ls", description = "[OPTION]... [FILE]...") public class LsCommand implements Command { @Option(hasValue = false, description = "set foo to true/false") private Boolean foo; @Option(hasValue = false, description = "set the bar") private boolean bar; @Option(defaultValue = {"MORE"}, argument = "SIZE") private String less; @OptionList(defaultValue = "/tmp", description = "file location", valueSeparator = ':', validator = DirectoryValidator.class) List<File> files; @Option(hasValue = false, description = "display this help and exit") private boolean help; @Arguments private java.util.List<File> arguments; @Override public CommandResult execute(CommandInvocation commandInvocation) throws CommandException, InterruptedException { assertEquals(2, files.size()); return CommandResult.SUCCESS; } }
private String complexValue; @Arguments(defaultValue = {"foo"}) public List<String> arguments;