package com.plannaplan.responses.models; import java.util.ArrayList; import java.util.List; import com.plannaplan.entities.Course; import com.plannaplan.responses.models.abstracts.CoursesResponse; import com.plannaplan.types.GroupType; import io.swagger.annotations.ApiModel; @ApiModel(description = "Response shows information about groups to given course.", value = "CoursesWithGroupsResponse") public class CoursesWithGroupsResponse extends CoursesResponse { private List lectures = new ArrayList<>(); private List classes = new ArrayList<>(); public CoursesWithGroupsResponse(Course course) { super(course); course.getGroups().stream().forEach(group -> { if (group.getType() == GroupType.CLASS) { this.classes.add(new GroupDefaultResponse(group)); } else { this.lectures.add(new GroupDefaultResponse(group)); } }); } public CoursesWithGroupsResponse(Course course, List lectures, List classes) { super(course); this.lectures = lectures; this.classes = classes; } public List getClasses() { return this.classes; } public List getLectures() { return this.lectures; } }