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

changeset 165
f4f11f755ee7
parent 162
79eeb33c738f
--- a/src/main/java/de/unixwork/uwproj/AbstractOption.java	Sat Nov 29 13:50:15 2025 +0100
+++ b/src/main/java/de/unixwork/uwproj/AbstractOption.java	Sat Nov 29 17:31:03 2025 +0100
@@ -1,11 +1,19 @@
 package de.unixwork.uwproj;
 
 public abstract class AbstractOption {
-    protected final String arg;
+    protected String arg = "";
     protected String desc = "";
 
-    public AbstractOption(String arg) {
-        this.arg = arg;
+    public AbstractOption() {
+    }
+
+    /**
+     * Indicates whether the option can be overridden by command line arguments.
+     *
+     * @return {@code true} if the option can be overridden, {@code false} otherwise
+     */
+    public final boolean isOverridable() {
+        return !arg.isEmpty();
     }
 
     /**
@@ -14,7 +22,9 @@
      * @return the argument name
      * @see #getHelpTextArg()
      */
-    public abstract String getArg();
+    public final String getArg() {
+        return arg;
+    }
 
     /**
      * The display text for the argument.
@@ -34,7 +44,9 @@
      * @return the description without any formatting
      * @see #getHelpText()
      */
-    public abstract String getDesc();
+    public final String getDesc() {
+        return desc;
+    }
 
     /**
      * The internal variable name for the option.

mercurial