From 67f78075fb798ab0539db97793f7d47adcc75645 Mon Sep 17 00:00:00 2001 From: Svjatoslav Agejenko Date: Wed, 26 Mar 2025 02:58:39 +0200 Subject: [PATCH] Properly handle booleans default values --- .../java/eu/svjatoslav/commons/cli_helper/CLIHelper.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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; } /** -- 2.20.1