empty input will now be considered as null for some fields (Person.passportId, Person.height and Location.name), fixed data classes setters for some fields
This commit is contained in:
parent
dccded9944
commit
0ba5fca0c1
4 changed files with 9 additions and 9 deletions
|
@ -190,7 +190,7 @@ public final class PeopleDatabaseCommands {
|
|||
System.out.println("Создание нового объекта класса Person");
|
||||
String name = CMD.awaitInput("Введите имя:", "Введите непустую строку",
|
||||
input -> !input.isEmpty());
|
||||
int height = CMD.awaitInput("Введите рост:", "Введите целое число, большее нуля",
|
||||
Integer height = CMD.awaitInput("Введите рост:", "Введите целое число, большее нуля",
|
||||
input -> {
|
||||
Integer result = UtilFunctions.intOrNull(input);
|
||||
return result != null && result > 0 || input.isEmpty();
|
||||
|
|
|
@ -41,8 +41,8 @@ public class Coordinates {
|
|||
* @throws IllegalArgumentException Если Y меньше или равен -816
|
||||
*/
|
||||
public void setY(float y) {
|
||||
this.y = y;
|
||||
if (y <= -816)
|
||||
throw new IllegalArgumentException("Поле y класса Coordinates должно быть больше -816");
|
||||
this.y = y;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,9 +54,9 @@ public class Location implements Comparable<Location> {
|
|||
* @throws IllegalArgumentException Если name является пустой строкой
|
||||
*/
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
if (name.isEmpty())
|
||||
if (name != null && name.isEmpty())
|
||||
throw new IllegalArgumentException("Поле name класса Location не может быть пустым");
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -130,9 +130,9 @@ public class Person implements Comparable<Person> {
|
|||
* Если имя является пустой строкой
|
||||
*/
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
if (name.isEmpty())
|
||||
throw new IllegalArgumentException("Поле name класса Person не может быть null или пустым");
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -143,9 +143,9 @@ public class Person implements Comparable<Person> {
|
|||
* @throws IllegalArgumentException Если рост меньше 0
|
||||
*/
|
||||
public void setHeight(Integer height) {
|
||||
this.height = height;
|
||||
if (height <= 0)
|
||||
if (height != null && height <= 0)
|
||||
throw new IllegalArgumentException("Поле height класса Person должно быть больше 0");
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -156,9 +156,9 @@ public class Person implements Comparable<Person> {
|
|||
* @throws IllegalArgumentException Если номер паспорта меньше 8 символов в длину
|
||||
*/
|
||||
public void setPassportID(String passportID) {
|
||||
this.passportID = passportID;
|
||||
if (passportID.length() < 8)
|
||||
if (passportID != null && passportID.length() < 8)
|
||||
throw new IllegalArgumentException("Поле passportID класса Person не может быть меньше 8 символов в длину");
|
||||
this.passportID = passportID;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue