public String _filter(String args[]) { return filter(args, false); }
/** * Wildcard a directory. The lists can contain Instruction that are matched * against the given directory ${lsr;<dir>;<list>(;<list>)*} * ${lsa;<dir>;<list>(;<list>)*} * * @author aqute */ public String _lsr(String args[]) { return ls(args, true); }
String process(String line, Link link) { StringBuilder sb = new StringBuilder(); process(line, 0, '\u0000', '\u0000', sb, link); return sb.toString(); }
StringBuilder sb = new StringBuilder(); String del = ""; for (String k : getAllKeys()) { if (ins.matcher(k).find()) { String v = replace(k, new Link(source, link, key)); if (v != null) { sb.append(del); value = source.getMap().get(key); if (value != null) return process(value, new Link(source, link, key)); value = doCommands(key, link); if (value != null) return process(value, new Link(source, link, key));
if (c1 == end) { if (--nesting == 0) { result.append(replace(variable.toString(), link)); return index; } else if (c1 == '$' && index < line.length() - 2) { char c2 = line.charAt(index); char terminator = getTerminator(c2); if (terminator != 0) { index = process(line, index + 1, c2, terminator, variable, link); continue outer;
public String _env(String args[]) { verifyCommand(args, "${env;<name>}, get the environmet variable", null, 2, 2); try { return System.getenv(args[1]); } catch (Throwable t) { return null; } }
public String _system_allow_fail(String args[]) throws Exception { String result = ""; try { result = system_internal(true, args); } catch (Throwable t) { /* ignore */ } return result; }
public String getProcessed(String key) { return replace(key, null); }
private String doCommands(String key, Link source) { String[] args = commands.split(key); if (args == null || args.length == 0) return null; for (int i = 0; i < args.length; i++) if (args[i].indexOf('\\') >= 0) args[i] = args[i].replaceAll("\\\\;", ";"); if (args[0].startsWith("^")) { String varname = args[0].substring(1).trim(); Domain parent = source.start.getParent(); if (parent != null) return parent.getMap().get(varname); return null; } Domain rover = domain; while (rover != null) { String result = doCommand(rover, args[0], args); if (result != null) return result; rover = rover.getParent(); } for (Object target : targets) { String result = doCommand(target, args[0], args); if (result != null) return result; } return doCommand(this, args[0], args); }
char end = getTerminator(begin); if (end == 0) return -1;
StringBuilder sb = new StringBuilder(); String del = ""; for (String k : getAllKeys()) { if (ins.matcher(k) .find()) { String v = replace(k, new Link(source, link, key)); if (v != null) { sb.append(del); .get(key); if (value != null) return process(value, new Link(source, link, key)); value = doCommands(key, link); if (value != null) return process(value, new Link(source, link, key)); if (parts.length > 1) { if (parts.length >= 16) { error("too many arguments for template: %s, max is 16", key); args.put("#", args0.join()); value = process(template, new Link(domain, link, key)); if (value != null) return value;
if (c1 == end) { if (--nesting == 0) { result.append(replace(variable.toString(), link)); return index; } else if (c1 == '$' && index < line.length() - 2) { char c2 = line.charAt(index); char terminator = getTerminator(c2); if (terminator != 0) { index = process(line, index + 1, c2, terminator, variable, link); continue outer;
public String _env(String args[]) { verifyCommand(args, "${env;<name>}, get the environmet variable", null, 2, 2); try { return System.getenv(args[1]); } catch (Throwable t) { return null; } }
public String _system_allow_fail(String args[]) throws Exception { String result = ""; try { result = system_internal(true, args); } catch (Throwable t) { /* ignore */ } return result; }
public String getProcessed(String key) { return replace(key, null); }
private String doCommands(String key, Link source) { String[] args = commands.split(key); if (args == null || args.length == 0) return null; for (int i = 0; i < args.length; i++) if (args[i].indexOf('\\') >= 0) args[i] = args[i].replaceAll("\\\\;", ";"); if (args[0].startsWith("^")) { String varname = args[0].substring(1) .trim(); Domain parent = source.start.getParent(); if (parent != null) return parent.getMap() .get(varname); return null; } Domain rover = domain; while (rover != null) { String result = doCommand(rover, args[0], args); if (result != null) return result; rover = rover.getParent(); } for (Object target : targets) { String result = doCommand(target, args[0], args); if (result != null) return result; } return doCommand(this, args[0], args); }
char end = getTerminator(begin); if (end == 0) return -1;
StringBuilder sb = new StringBuilder(); String del = ""; for (String k : getAllKeys()) { if (ins.matcher(k) .find()) { String v = replace(k, new Link(source, link, key)); if (v != null) { sb.append(del); .get(key); if (value != null) return process(value, new Link(source, link, key)); value = doCommands(key, link); if (value != null) return process(value, new Link(source, link, key)); if (parts.length > 1) { if (parts.length >= 16) { error("too many arguments for template: %s, max is 16", key); args.put("#", args0.join()); value = process(template, new Link(domain, link, key)); if (value != null) return value;
if (c1 == end) { if (--nesting == 0) { result.append(replace(variable.toString(), link)); return index; } else if (c1 == '$' && index < line.length() - 2) { char c2 = line.charAt(index); char terminator = getTerminator(c2); if (terminator != 0) { index = process(line, index + 1, c2, terminator, variable, link); continue outer;
String process(String line, Link link) { StringBuilder sb = new StringBuilder(); process(line, 0, '\u0000', '\u0000', sb, link); return sb.toString(); }