public Object get(final String name) { assert name != null; Object value = map.get(name); if (value == null && parent != null) { value = parent.get(name); } return value; }
@Override protected File getUserHome() { return variables.get().get(SHELL_USER_HOME, File.class); }
public Object get(final Object key) { assert key != null; String name = String.valueOf(key); Object value; value = vars.get(name); if (value == null) { value = System.getProperty(name); } return value; }
public File resolveDir(final String name) throws IOException { assert name != null; return variables.get().get(name, File.class).getCanonicalFile(); }
@Override protected File getUserDir() { Variables vars = variables.get(); Object tmp = vars.get(SHELL_USER_DIR); assert tmp != null; if (tmp instanceof File) { return (File)tmp; } return new File(String.valueOf(tmp)); }
public Node group() { Node node; Object tmp = variables.get().get(SHELL_GROUP); if (tmp instanceof String) { node = root.find((String)tmp); } else if (tmp instanceof Node) { node = (Node)tmp; } else if (tmp == null) { node = root; } else { log.warn("Unexpected value for {}: {}", SHELL_GROUP, tmp); node = root; } log.trace("Current group is: {}", node); return node; }
@Override protected Object replace(final String key) { Variables vars = ShellHolder.get().getVariables(); Object rep = vars.get(key); if (rep == null) { rep = System.getProperty(key); } return rep; } };
public List<Node> searchPath() { List<Node> path = new ArrayList<Node>(); Object tmp = variables.get().get(SHELL_GROUP_PATH); if (tmp != null && !(tmp instanceof String)) { log.warn("Unexpected value for {}: {}", SHELL_GROUP_PATH, tmp); tmp = null; } if (tmp == null) { tmp = String.format("%s%s%s", CURRENT, PATH_SEPARATOR, ROOT); } Node base = group(); for (String element : ((String)tmp).split(PATH_SEPARATOR)) { Node node = base.find(element); if (node == null) { log.warn("Invalid search path element: {}", element); } path.add(node); } return path; }
String home = vars.get(SHELL_USER_HOME, File.class).getAbsolutePath(); String current = vars.get(SHELL_USER_DIR, File.class).getAbsolutePath(); if (current.startsWith(home)) { return "~" + current.substring(home.length(), current.length()); String home = vars.get(SHELL_USER_HOME, File.class).getAbsolutePath(); File current = vars.get(SHELL_USER_DIR, File.class).getAbsoluteFile(); if (current.getAbsolutePath().equals(home)) { return "~"; Object rep = vars.get(key); if (rep == null) { rep = System.getProperty(key);
public Object getValue(final String expression) { return ShellHolder.get().getVariables().get(expression); } });
public Object getValue(final String expression) { return ShellHolder.get().getVariables().get(expression); } });
Object value = variables.get(name);
public String prompt() { String pattern = variables.get().get(SHELL_PROMPT, String.class); String prompt = evaluate(pattern); // Use a default prompt if we don't have anything here if (prompt == null) { prompt = evaluate(branding.getPrompt()); } // Encode ANSI muck if it looks like there are codes encoded, need to render here as the console uses raw streams if (AnsiRenderer.test(prompt)) { prompt = AnsiRenderer.render(prompt); } return prompt; }
showTrace = vars.get(SHELL_ERRORS, Boolean.class);
result = vars.get(LAST_RESULT);