empty input will now be considered as null for some fields (Person.passportId, Person.height and Location.name)

This commit is contained in:
Egor 2022-02-21 18:10:03 +03:00
parent 27a164aa19
commit dccded9944

View file

@ -193,10 +193,10 @@ public final class PeopleDatabaseCommands {
int height = CMD.awaitInput("Введите рост:", "Введите целое число, большее нуля",
input -> {
Integer result = UtilFunctions.intOrNull(input);
return result != null && result > 0;
}, Integer::parseInt);
return result != null && result > 0 || input.isEmpty();
}, input -> input.isEmpty() ? null : Integer.parseInt(input));
String passportID = CMD.awaitInput("Введите номер паспорта:", "Введите минимум 8 символов",
input -> input.length() >= 8);
input -> input.length() >= 8 || input.isEmpty(), input -> input.isEmpty() ? null : input);
Color eyeColor = CMD.awaitInput("Введите цвет глаз " + COLORS + ":", "Введите один из предложенных цветов",
input -> UtilFunctions.enumOrNull(input.toUpperCase(Locale.ROOT), Color.class) != null,
input -> Color.valueOf(input.toUpperCase(Locale.ROOT)));
@ -217,7 +217,7 @@ public final class PeopleDatabaseCommands {
long z = CMD.awaitInput("Введите z:", "Введите целое число",
input -> UtilFunctions.longOrNull(input) != null, Long::parseLong);
String name = CMD.awaitInput("Введите название:", "Строка не может быть пустой",
input -> !input.isEmpty());
input -> true, input -> input.isEmpty() ? null : input);
return new Location(x, y, z, name);
}