Tue, 30 Jan 2024 21:32:11 +0100
remove unnecessary double-quotes in vars.mk - fixes #370
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
1 | package de.unixwork.uwproj; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
2 | |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
3 | import org.w3c.dom.Element; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
4 | |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
0
diff
changeset
|
5 | import java.util.LinkedList; |
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
0
diff
changeset
|
6 | import java.util.List; |
41 | 7 | import java.util.stream.Collectors; |
8 | ||
9 | import static de.unixwork.uwproj.Util.shId; | |
40
b42bfc9e9983
first minor code improvements
Mike Becker <universe@uap-core.de>
parents:
0
diff
changeset
|
10 | |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
11 | public final class Option { |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
12 | private final String arg; |
41 | 13 | |
14 | private final LinkedList<OptionValue> values = new LinkedList<>(); | |
15 | private final LinkedList<OptionDefault> defaults = new LinkedList<>(); | |
16 | ||
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
17 | public Option(Element element) { |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
18 | arg = element.getAttribute("arg"); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
19 | Util.getChildElements(element).forEach(elm -> { |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
20 | switch (elm.getNodeName()) { |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
21 | case "value" -> values.add(new OptionValue(this, |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
22 | elm.getAttribute("str"), |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
23 | new TargetData(elm))); |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
24 | case "default" -> defaults.add(new OptionDefault(this, |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
25 | elm.getAttribute("value"), |
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
26 | elm.getAttribute("platform"))); |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
27 | } |
113
24f32dbd88cd
minimize application code
Mike Becker <universe@uap-core.de>
parents:
41
diff
changeset
|
28 | }); |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
29 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
30 | |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
31 | public String getArgument() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
32 | return arg; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
33 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
34 | |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
35 | public String getVarName() { |
41 | 36 | return shId("OPT_" + arg.toUpperCase()); |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
37 | } |
41 | 38 | |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
39 | public String getArgValue() { |
41 | 40 | return "${ARG:" + (3 + arg.length()) + "}"; |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
41 | } |
41 | 42 | |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
43 | public List<OptionValue> getValues() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
44 | return values; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
45 | } |
41 | 46 | |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
47 | public List<OptionDefault> getDefaults() { |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
48 | return defaults; |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
49 | } |
41 | 50 | |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
51 | public String getValueFunc(String value) { |
41 | 52 | return shId("checkopt_" + arg + "_" + value); |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
53 | } |
41 | 54 | |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
55 | public String getValuesString() { |
41 | 56 | if (values.size() == 1) { |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
57 | return values.get(0).getValue(); |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
58 | } else { |
41 | 59 | return "(" + values.stream().map(OptionValue::getValue).collect(Collectors.joining("|")) + ")"; |
0
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
60 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
61 | } |
38775db5fdf5
add existing source
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
62 | } |