--- 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.