src/main/java/de/unixwork/uwproj/ConfigVar.java

Sun, 10 Sep 2023 13:04:02 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 10 Sep 2023 13:04:02 +0200
changeset 43
741a0d9efa47
parent 40
b42bfc9e9983
child 45
f4ec2feccebb
permissions
-rw-r--r--

replace type="exec" with exec="true" - fixes #295

7
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 package de.unixwork.uwproj;
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 import org.w3c.dom.Element;
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
4
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
5 public class ConfigVar {
40
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
6 private String varName;
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
7 private String value;
7
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
8 private boolean exec = false;
40
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
9
7
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
10 public static ConfigVar parse(Element e) {
40
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
11 return parse(e, false);
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
12 }
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
13
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
14 public static ConfigVar parse(Element e, boolean varNameIsElemName) {
7
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
15 ConfigVar var = new ConfigVar();
40
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
16
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
17 if (varNameIsElemName) {
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
18 var.varName = e.getNodeName().toUpperCase();
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
19 } else {
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
20 String name = e.getAttribute("name");
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
21 if (name.isBlank()) {
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
22 System.err.println("<var>-element: name attribute required");
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
23 return null;
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
24 }
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
25 var.varName = name;
7
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
26 }
40
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
27
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
28 var.value = Util.getContent(e);
43
741a0d9efa47 replace type="exec" with exec="true" - fixes #295
Mike Becker <universe@uap-core.de>
parents: 40
diff changeset
29 var.exec = Boolean.parseBoolean(e.getAttribute("exec"));
40
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
30
7
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
31 return var;
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
32 }
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
33
40
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
34 public String getVarName() {
b42bfc9e9983 first minor code improvements
Mike Becker <universe@uap-core.de>
parents: 7
diff changeset
35 return varName;
7
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
36 }
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
37
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
38 public String getValue() {
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
39 return value;
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
40 }
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
41
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
42 public boolean isExec() {
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
43 return exec;
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
44 }
686991ae6e2f add configureable make variables
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
45 }

mercurial