/
Harbinger21
/
StudentRegistration
Обзор
Документация
Войти
/
Harbinger21
/
StudentRegistration
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/ru/studentRegistration/dto/StudentDto.java
58 строк
1 KB
anton
refactoring
20 май 2024, 11:01
20 май 2024, 11:01
7565e68
Код
Авторство
О чём код?
package ru.studentRegistration.dto; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Past; import jakarta.validation.constraints.Size; import lombok.AllArgsConstructor; import lombok.Data; import ru.studentRegistration.model.Exam; import ru.studentRegistration.model.Student; import java.time.LocalDate; import java.util.List; @Data @AllArgsConstructor public class StudentDto { private long id; /** * Имя */ @Size(min = 2, message = "user name should have at least 2 characters") @NotBlank @NotNull private String firstName; /** * Фамилия */ @Size(min = 2, message = "user name should have at least 2 characters") @NotBlank @NotNull private String lastName; /** * Дата рождения */ @Past @NotNull private LocalDate birthDate; /** * Год обучения(Курс) */ @Min(1) private int step; /** * Сиписок экзаменов студента */ @NotNull private List<Exam> exams; public Student toStudent() { return new Student(id, firstName, lastName, birthDate, step, exams); } public static StudentDto fromStudent(Student student) { return new StudentDto(student.getId(), student.getFirstName(), student.getLastName(), student.getBirthDate(), student.getStep(), student.getExams()); } }