private Node call(String name, Node src, Node destParent, Map<String, String> context) throws ReflectionException, IOException { String fileName; String methodName; Method m; Node dest; fileName = name.substring(1); methodName = normalize(fileName); m = calls.get(methodName); if (m == null) { throw new ReflectionException("unknown call: " + methodName + " (defined: " + calls.keySet() + ")"); } dest = destParent.join(fileName); if (src.isDirectory()) { dest.mkdirsOpt(); doInvoke(m, dest, context); } else { dest.writeString((String) doInvoke(m, context)); } return dest; }
src.node.copyFile(dest); } else { dest.writeString(content.apply(src.node.readString(), childVariables));