Wed, 06 Sep 2023 22:55:42 +0200
first minor code improvements
package de.unixwork.uwproj; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import java.util.LinkedList; import java.util.List; public class TargetData { private final List<Define> defines = new LinkedList<>(); private final List<String> dependencies = new LinkedList<>(); private final StringBuilder make = new StringBuilder(); public static TargetData parse(Element element) throws Exception { TargetData data = new TargetData(); NodeList nodes = element.getChildNodes(); for(int i=0;i<nodes.getLength();i++) { Node node = nodes.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { Element elm = (Element)node; String n = elm.getNodeName(); if(n.equals("define")) { String def = elm.getAttribute("name"); String defval = elm.getAttribute("value"); if (def.isBlank()) { throw new Exception("define element requires name attribute"); } data.addDefine(new Define(def, defval)); } else if(n.equals("dependencies")) { String deps = Util.getContent(elm); String[] dependencies = deps.split(","); for(String dependency : dependencies) { dependency = dependency.trim(); data.addDependency(dependency); } } else if(n.equals("make")) { String m = Util.getContent(elm); data.addMake(m); } } } return data; } public List<Define> getDefines() { return defines; } public List<String> getDependencies() { return dependencies; } public String getMake() { return make.toString(); } public void addDefine(Define d) { defines.add(d); } public void addDependency(String d) { dependencies.add(d); } public void addMake(String m) { make.append(m.trim()); make.append('\n'); } }