--- a/src/main/java/de/unixwork/uwproj/ConfigVar.java Wed Sep 06 21:08:04 2023 +0200 +++ b/src/main/java/de/unixwork/uwproj/ConfigVar.java Wed Sep 06 22:55:42 2023 +0200 @@ -1,58 +1,44 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package de.unixwork.uwproj; import org.w3c.dom.Element; -/** - * - * @author olaf - */ public class ConfigVar { - String name; - String value; + private String varName; + private String value; private boolean exec = false; - + public static ConfigVar parse(Element e) { + return parse(e, false); + } + + public static ConfigVar parse(Element e, boolean varNameIsElemName) { ConfigVar var = new ConfigVar(); - - String name = e.getAttribute("name"); - if(name == null || name.length() == 0) { - System.err.println("<var>-element: name attribute required"); - return null; + + if (varNameIsElemName) { + var.varName = e.getNodeName().toUpperCase(); + } else { + String name = e.getAttribute("name"); + if (name.isBlank()) { + System.err.println("<var>-element: name attribute required"); + return null; + } + var.varName = name; } - var.name = name; - - String value = Xml.getContent(e); - var.value = value == null ? "" : value; - - String type = e.getAttribute("type"); - if(type != null && type.equals("exec")) { - var.exec = true; - } - + + var.value = Util.getContent(e); + var.exec = e.getAttribute("type").equals("exec"); + return var; } - - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; + public String getVarName() { + return varName; } public String getValue() { return value; } - public void setValue(String value) { - this.value = value; - } - public boolean isExec() { return exec; }