/** * Specifies the command-line arguments passed into the Java command. * * <p> * This is required if you use {@link Microservice#getArgs()} or <code>$A</code> string variables. * * @param args * The command-line arguments passed into the Java command as the raw command-line arguments. * @return This object (for method chaining). */ public MicroserviceBuilder args(String...args) { this.args = new Args(args); return this; }
@Override /* Var */ public String resolve(VarResolverSession session, String key) { return args.getArg(key); } }
/** * Returns <jk>true</jk> if argument exists at specified index. * * @param i The zero-indexed position of the argument. * @return <jk>true</jk> if argument exists at specified index. */ public boolean hasArg(int i) { return containsKey(Integer.toString(i)); }
a = new Args(new String[]{}); assertNull(a.getArg(0)); assertNull(a.getArg(1)); assertNull(a.getArg(-1)); assertNull(a.getArg("foo")); assertEquals(0, a.getArgs("foo").size()); assertFalse(a.containsKey("foo")); a = new Args(new String[]{"foo"}); assertEquals("foo", a.getArg(0)); assertNull(a.getArg(1)); assertNull(a.getArg(-1)); assertNull(a.getArg("foo")); assertEquals(0, a.getArgs("foo").size()); assertFalse(a.containsKey("foo")); a = new Args(new String[]{"foo", "bar bar"}); assertEquals("foo", a.getArg(0)); assertEquals("bar bar", a.getArg(1)); assertNull(a.getArg(-1)); assertNull(a.getArg("foo")); assertEquals(0, a.getArgs("foo").size()); assertFalse(a.containsKey("foo")); a = new Args(new String[]{"foo", "bar bar", "-foo"}); assertEquals("foo", a.getArg(0)); assertEquals("bar bar", a.getArg(1)); assertNull(a.getArg(-1)); assertNull(a.getArg("foo"));
@Override /* Thread */ @SuppressWarnings("resource") // Must not close System.in! public void run() { Scanner in = getConsoleReader(); PrintWriter out = getConsoleWriter(); out.println(mb2.getString("ListOfAvailableCommands")); for (ConsoleCommand cc : commands.values()) out.append("\t").append(cc.getName()).append(" -- ").append(cc.getInfo()).println(); out.println(); while (true) { String line = null; out.append("> ").flush(); line = in.nextLine(); Args args = new Args(line); if (! args.isEmpty()) { ConsoleCommand cc = commands.get(args.getArg(0)); if (cc == null) { out.println(mb2.getString("UnknownCommand")); } else { try { if (cc.execute(in, out, args)) break; } catch (Exception e) { e.printStackTrace(); } } } } } }.start();
if (startsWith(s,'-')) break; put(i.toString(), argList.remove(0)); i++; if (key.matches("\\d*")) throw new FormattedRuntimeException("Invalid optional key name ''{0}''", key); if (! containsKey(key)) put(key, new ObjectList()); } else { ((ObjectList)get(key)).add(s);
if (args.size() > 2) { String option = args.getArg(1); String key = args.getArg(2); if (option.equals("get")) { if (args.size() == 3) { String val = conf.getString(key); if (val != null) if (args.size() == 4) { conf.set(key, args.getArg(3)); out.println(mb.getString("ConfigSet")); } else if (args.size() < 4) { out.println(mb.getString("InvalidArguments")); } else { if (args.size() == 3) { if (conf.getString(key) != null) { conf.remove(key);
private List<String> getCandidateConfigNames() { Args args = getArgs(); if (getArgs().hasArg("configFile")) return Collections.singletonList(args.getArg("configFile")); ManifestFile manifest = getManifest(); if (manifest.containsKey("Main-Config")) return Collections.singletonList(manifest.getString("Main-Config")); return Config.getCandidateSystemDefaultConfigNames(); }
@Override /* Thread */ public void run() { Scanner in = getConsoleReader(); PrintWriter out = getConsoleWriter(); out.println(messages.getString("ListOfAvailableCommands")); for (ConsoleCommand cc : new TreeMap<>(getConsoleCommands()).values()) out.append("\t").append(cc.getName()).append(" -- ").append(cc.getInfo()).println(); out.println(); while (true) { String line = null; out.append("> ").flush(); line = in.nextLine(); Args args = new Args(line); if (! args.isEmpty()) executeCommand(args, in, out); } } };
/** * Returns <jk>true</jk> if the named argument exists. * * @param name The argument name. * @return <jk>true</jk> if the named argument exists. */ public boolean hasArg(String name) { ObjectList l = (ObjectList)get(name); return l != null; }
return getString(Integer.toString(i));
if (startsWith(s,'-')) break; put(i.toString(), argList.remove(0)); i++; if (key.matches("\\d*")) throw new FormattedRuntimeException("Invalid optional key name ''{0}''", key); if (! containsKey(key)) put(key, new ObjectList()); } else { ((ObjectList)get(key)).add(s);
@Override /* ConsoleCommand */ public boolean execute(Scanner in, PrintWriter out, Args args) throws Exception { Map<String,ConsoleCommand> commands = Microservice.getInstance().getConsoleCommands(); if (args.size() == 1) { out.println(mb.getString("ListOfAvailableCommands")); for (ConsoleCommand cc : commands.values()) out.append("\t").append(cc.getName()).append(" -- ").append(indent(cc.getInfo())).println(); out.println(); } else { ConsoleCommand cc = commands.get(args.getArg(1)); if (cc == null) { out.println(mb.getString("CommandNotFound")); } else { String info = cc.getInfo(), synopsis = cc.getSynopsis(), description = cc.getDescription(), examples = cc.getExamples(); out.append(mb.getString("NAME")).append("\n\t").append(cc.getName()).append(info == null ? "" : " -- " + indent(info)).println(); if (synopsis != null) out.append('\n').append(mb.getString("SYNOPSIS")).append("\n\t").append(indent(synopsis)).println(); if (description != null) out.append('\n').append(mb.getString("DESCRIPTION")).append("\n\t").append(indent(description)).println(); if (examples != null) out.append('\n').append(mb.getString("EXAMPLES")).append("\n\t").append(indent(examples)).println(); } } return false; }
/** * Returns <jk>true</jk> if the named argument exists. * * @param name The argument name. * @return <jk>true</jk> if the named argument exists. */ public boolean hasArg(String name) { ObjectList l = (ObjectList)get(name); return l != null; }
return getString(Integer.toString(i));
/** * Constructor. */ public ArgsVar() { super(NAME); if (ARGS != null) this.args = ARGS; else { String s = System.getProperty("sun.java.command"); if (isNotEmpty(s)) { int i = s.indexOf(' '); args = new Args(i == -1 ? "" : s.substring(i+1)); } else { args = new Args(System.getProperty("juneau.args", "")); } } }
if (startsWith(s,'-')) break; put(i.toString(), argList.remove(0)); i++; if (key.matches("\\d*")) throw new FormattedRuntimeException("Invalid optional key name ''{0}''", key); if (! containsKey(key)) put(key, new ObjectList()); } else { ((ObjectList)get(key)).add(s);
@Override /* ConsoleCommand */ public boolean execute(Scanner in, PrintWriter out, Args args) throws Exception { Map<String,ConsoleCommand> commands = Microservice.getInstance().getConsoleCommands(); if (args.size() == 1) { out.println(mb.getString("ListOfAvailableCommands")); for (ConsoleCommand cc : commands.values()) out.append("\t").append(cc.getName()).append(" -- ").append(indent(cc.getInfo())).println(); out.println(); } else { ConsoleCommand cc = commands.get(args.getArg(1)); if (cc == null) { out.println(mb.getString("CommandNotFound")); } else { String info = cc.getInfo(), synopsis = cc.getSynopsis(), description = cc.getDescription(), examples = cc.getExamples(); out.append(mb.getString("NAME")).append("\n\t").append(cc.getName()).append(info == null ? "" : " -- " + indent(info)).println(); if (synopsis != null) out.append('\n').append(mb.getString("SYNOPSIS")).append("\n\t").append(indent(synopsis)).println(); if (description != null) out.append('\n').append(mb.getString("DESCRIPTION")).append("\n\t").append(indent(description)).println(); if (examples != null) out.append('\n').append(mb.getString("EXAMPLES")).append("\n\t").append(indent(examples)).println(); } } return false; }
@Override /* Var */ public String resolve(VarResolverSession session, String key) { return args.getArg(key); } }