From: Svjatoslav Agejenko Date: Wed, 26 Mar 2025 00:58:39 +0000 (+0200) Subject: Properly handle booleans default values X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=commitdiff_plain;h=67f78075fb798ab0539db97793f7d47adcc75645;p=cli-helper.git Properly handle booleans default values --- diff --git a/src/main/java/eu/svjatoslav/commons/cli_helper/CLIHelper.java b/src/main/java/eu/svjatoslav/commons/cli_helper/CLIHelper.java index b77427c..fcdd8e9 100755 --- a/src/main/java/eu/svjatoslav/commons/cli_helper/CLIHelper.java +++ b/src/main/java/eu/svjatoslav/commons/cli_helper/CLIHelper.java @@ -35,16 +35,15 @@ public class CLIHelper { */ public static boolean askBoolean(final String prompt, final Boolean defaultValue) { while (true) { - // Show the user something like "Continue? [Y/n]: " or "Continue? [y/N]: " String finalPrompt = prompt; if (defaultValue != null){ + // Show the user something like "Continue? [Y/n]: " or "Continue? [y/N]: " finalPrompt = prompt + " [" + (defaultValue ? "Y/n" : "y/N") + "]: "; } String line = askString(finalPrompt); - // If user provided an empty line, askString() returns null in this usage => default - if (line == null && defaultValue != null) { + if ((defaultValue != null) && (line == null)) { return defaultValue; } @@ -250,7 +249,7 @@ public class CLIHelper { String input = scanner.nextLine().trim(); // Return the default if user just pressed ENTER - return input.isEmpty() && defaultValue != null ? defaultValue : input; + return input.isEmpty() ? defaultValue : input; } /**