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 @JoinColumn(name = Constants.I_COURSE)
32 private ICourse course;
34 @ManyToMany(targetEntity = Lecturer.class, mappedBy = Constants.M_LECTURER_LESSONS)
35 private Collection<ILecturer> lecturers = new ArrayList<>();
37 @ManyToMany(targetEntity = Lesson.class)
38 @JoinTable(name = Constants.J_LESSONS_REQUIRED)
39 private Collection<ILesson> requiredLessons = new ArrayList<>();
41 @ManyToMany(targetEntity = Lesson.class, mappedBy = Constants.M_LESSON_REQUIRED)
42 private Collection<ILesson> requiredLessonsBy = new ArrayList<>();
44 @OneToMany(targetEntity = Material.class, mappedBy = Constants.M_MATERIAL_LESSON)
45 private Collection<IMaterial> materials = new ArrayList<>();
53 public void setId(Long id) {
58 public String getDescription() {
63 public void setDescription(String description) {
64 this.description = description;
68 public Date getStart() {
73 public void setStart(Date start) {
78 public Date getEnd() {
83 public void setEnd(Date end) {
88 public ICourse getCourse() {
93 public void setCourse(ICourse course) {
98 public Collection<ILecturer> getLecturers() {
103 public void setLecturers(Collection<ILecturer> lecturers) {
104 this.lecturers = lecturers;
108 public void addLecturer(ILecturer lecturer) {
109 this.lecturers.add(lecturer);
113 public Collection<ILesson> getRequiredLessons() {
114 return requiredLessons;
118 public void setRequiredLessons(Collection<ILesson> requiredLessons) {
119 this.requiredLessons = requiredLessons;
123 public void addRequiredLesson(ILesson lesson) {
124 this.requiredLessons.add(lesson);
128 public Collection<ILesson> getRequiredByLessons() {
129 return requiredLessonsBy;
133 public void setRequiredByLessons(Collection<ILesson> requiredByLessons) {
134 this.requiredLessonsBy = requiredByLessons;
138 public void addRequiredByLesson(ILesson lesson) {
139 this.requiredLessonsBy.add(lesson);
143 public Collection<IMaterial> getMaterials() {
148 public void setMaterials(Collection<IMaterial> materials) {
149 this.materials = materials;
153 public void addMaterial(IMaterial material) {
154 this.materials.add(material);