--- a/src/main/java/de/unixwork/uwproj/Feature.java Wed Sep 06 22:55:42 2023 +0200 +++ b/src/main/java/de/unixwork/uwproj/Feature.java Sun Sep 10 12:52:10 2023 +0200 @@ -4,42 +4,44 @@ import java.util.List; +import static de.unixwork.uwproj.Util.isNotNullOrBlank; + public class Feature { private String name; private String arg; private boolean def; - + private TargetData targetData; - + public static Feature parse(Project project, Element e) throws Exception { Feature feature = new Feature(); String name = e.getAttribute("name"); String arg = e.getAttribute("arg"); String def = e.getAttribute("default"); - - if(name.isEmpty()) { + + if (name.isBlank()) { throw new Exception("feature element requires name attribute"); } - + String ld = def.toLowerCase(); boolean on = ld.equals("on") || ld.equals("true"); feature.setName(name); feature.setDefault(on); - if(arg.isEmpty()) { + if (arg.isBlank()) { feature.setArg(name); } else { feature.setArg(arg); } - + feature.setTargetData(TargetData.parse(e)); project.addFeature(feature); return feature; } - + public String getVarName() { - return "FEATURE_"+name.toUpperCase(); + return "FEATURE_" + name.toUpperCase(); } - + public List<String> getDependencies() { return getTargetData().getDependencies(); } @@ -47,13 +49,13 @@ public List<Define> getDefines() { return getTargetData().getDefines(); } - + public String getMake() { return targetData.getMake(); } - + public boolean hasMake() { - return !targetData.getMake().trim().isEmpty(); + return isNotNullOrBlank(targetData.getMake()); } public String getName() { @@ -86,5 +88,5 @@ public void setTargetData(TargetData targetData) { this.targetData = targetData; - } + } }