1 package dst.ass1.jpa.model.impl;
3 import dst.ass1.jpa.model.ICourse;
4 import dst.ass1.jpa.model.ILecturer;
5 import dst.ass1.jpa.model.ILesson;
6 import dst.ass1.jpa.model.IMaterial;
7 import dst.ass1.jpa.util.Constants;
9 import javax.persistence.*;
10 import java.util.ArrayList;
11 import java.util.Collection;
12 import java.util.Date;
15 @Table(name = Constants.T_LESSON)
16 public class Lesson implements ILesson {
22 private String description;
30 @ManyToOne(targetEntity = Course.class)
31 private ICourse course;
33 @ManyToMany(targetEntity = Lecturer.class, mappedBy = Constants.M_LECTURER_LESSONS)
34 private Collection<ILecturer> lecturers = new ArrayList<>();
36 @ManyToMany(targetEntity = Lesson.class)
37 @JoinTable(name = Constants.J_LESSONS_REQUIRED)
38 private Collection<ILesson> requiredLessons = new ArrayList<>();
40 @ManyToMany(targetEntity = Lesson.class, mappedBy = Constants.M_LESSON_REQUIRED)
41 private Collection<ILesson> requiredLessonsBy = new ArrayList<>();
43 @OneToMany(targetEntity = Material.class, mappedBy = Constants.M_MATERIAL_LESSON)
44 private Collection<IMaterial> materials = new ArrayList<>();
52 public void setId(Long id) {
57 public String getDescription() {
62 public void setDescription(String description) {
63 this.description = description;
67 public Date getStart() {
72 public void setStart(Date start) {
77 public Date getEnd() {
82 public void setEnd(Date end) {
87 public ICourse getCourse() {
92 public void setCourse(ICourse course) {
97 public Collection<ILecturer> getLecturers() {
102 public void setLecturers(Collection<ILecturer> lecturers) {
103 this.lecturers = lecturers;
107 public void addLecturer(ILecturer lecturer) {
108 this.lecturers.add(lecturer);
112 public Collection<ILesson> getRequiredLessons() {
113 return requiredLessons;
117 public void setRequiredLessons(Collection<ILesson> requiredLessons) {
118 this.requiredLessons = requiredLessons;
122 public void addRequiredLesson(ILesson lesson) {
123 this.requiredLessons.add(lesson);
127 public Collection<ILesson> getRequiredByLessons() {
128 return requiredLessonsBy;
132 public void setRequiredByLessons(Collection<ILesson> requiredByLessons) {
133 this.requiredLessonsBy = requiredByLessons;
137 public void addRequiredByLesson(ILesson lesson) {
138 this.requiredLessonsBy.add(lesson);
142 public Collection<IMaterial> getMaterials() {
147 public void setMaterials(Collection<IMaterial> materials) {
148 this.materials = materials;
152 public void addMaterial(IMaterial material) {
153 this.materials.add(material);