43 lines
1.1 KiB
Java
43 lines
1.1 KiB
Java
package ru.ulstu.project.model;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
import org.hibernate.validator.constraints.NotEmpty;
|
|
import ru.ulstu.deadline.model.DeadlineDto;
|
|
|
|
import java.util.List;
|
|
|
|
import static ru.ulstu.core.util.StreamApiUtils.convert;
|
|
|
|
public class ProjectDto {
|
|
private final Integer id;
|
|
|
|
@NotEmpty
|
|
private final String title;
|
|
|
|
private final List<DeadlineDto> deadlines;
|
|
|
|
@JsonCreator
|
|
public ProjectDto(@JsonProperty("id") Integer id,
|
|
@JsonProperty("title") String title,
|
|
@JsonProperty("deadlines") List<DeadlineDto> deadlines) {
|
|
this.id = id;
|
|
this.title = title;
|
|
this.deadlines = deadlines;
|
|
}
|
|
|
|
public ProjectDto(Project project) {
|
|
this.id = project.getId();
|
|
this.title = project.getTitle();
|
|
this.deadlines = convert(project.getDeadlines(), DeadlineDto::new);
|
|
}
|
|
|
|
public Integer getId() {
|
|
return id;
|
|
}
|
|
|
|
public String getTitle() {
|
|
return title;
|
|
}
|
|
}
|