]> git.somenet.org - pub/jan/dst18.git/blob - ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Lesson.java
Model fixes to remove unneeded tables.
[pub/jan/dst18.git] / ass1-jpa / src / main / java / dst / ass1 / jpa / model / impl / Lesson.java
1 package dst.ass1.jpa.model.impl;
2
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;
8
9 import javax.persistence.*;
10 import java.util.ArrayList;
11 import java.util.Collection;
12 import java.util.Date;
13
14 @Entity
15 @Table(name = Constants.T_LESSON)
16 public class Lesson implements ILesson {
17     @Id
18     @GeneratedValue
19     private Long id;
20
21     @Column
22     private String description;
23
24     @Column
25     private Date start;
26
27     @Column
28     private Date end;
29
30     @ManyToOne(targetEntity = Course.class)
31     @JoinColumn(name = Constants.I_COURSE)
32     private ICourse course;
33
34     @ManyToMany(targetEntity = Lecturer.class, mappedBy = Constants.M_LECTURER_LESSONS)
35     private Collection<ILecturer> lecturers = new ArrayList<>();
36
37     @ManyToMany(targetEntity = Lesson.class)
38     @JoinTable(name = Constants.J_LESSONS_REQUIRED)
39     private Collection<ILesson> requiredLessons = new ArrayList<>();
40
41     @ManyToMany(targetEntity = Lesson.class, mappedBy = Constants.M_LESSON_REQUIRED)
42     private Collection<ILesson> requiredLessonsBy = new ArrayList<>();
43
44     @OneToMany(targetEntity = Material.class, mappedBy = Constants.M_MATERIAL_LESSON)
45     private Collection<IMaterial> materials = new ArrayList<>();
46
47     @Override
48     public Long getId() {
49         return id;
50     }
51
52     @Override
53     public void setId(Long id) {
54         this.id = id;
55     }
56
57     @Override
58     public String getDescription() {
59         return description;
60     }
61
62     @Override
63     public void setDescription(String description) {
64         this.description = description;
65     }
66
67     @Override
68     public Date getStart() {
69         return start;
70     }
71
72     @Override
73     public void setStart(Date start) {
74         this.start = start;
75     }
76
77     @Override
78     public Date getEnd() {
79         return end;
80     }
81
82     @Override
83     public void setEnd(Date end) {
84         this.end = end;
85     }
86
87     @Override
88     public ICourse getCourse() {
89         return course;
90     }
91
92     @Override
93     public void setCourse(ICourse course) {
94         this.course = course;
95     }
96
97     @Override
98     public Collection<ILecturer> getLecturers() {
99         return lecturers;
100     }
101
102     @Override
103     public void setLecturers(Collection<ILecturer> lecturers) {
104         this.lecturers = lecturers;
105     }
106
107     @Override
108     public void addLecturer(ILecturer lecturer) {
109         this.lecturers.add(lecturer);
110     }
111
112     @Override
113     public Collection<ILesson> getRequiredLessons() {
114         return requiredLessons;
115     }
116
117     @Override
118     public void setRequiredLessons(Collection<ILesson> requiredLessons) {
119         this.requiredLessons = requiredLessons;
120     }
121
122     @Override
123     public void addRequiredLesson(ILesson lesson) {
124         this.requiredLessons.add(lesson);
125     }
126
127     @Override
128     public Collection<ILesson> getRequiredByLessons() {
129         return requiredLessonsBy;
130     }
131
132     @Override
133     public void setRequiredByLessons(Collection<ILesson> requiredByLessons) {
134         this.requiredLessonsBy = requiredByLessons;
135     }
136
137     @Override
138     public void addRequiredByLesson(ILesson lesson) {
139         this.requiredLessonsBy.add(lesson);
140     }
141
142     @Override
143     public Collection<IMaterial> getMaterials() {
144         return materials;
145     }
146
147     @Override
148     public void setMaterials(Collection<IMaterial> materials) {
149         this.materials = materials;
150     }
151
152     @Override
153     public void addMaterial(IMaterial material) {
154         this.materials.add(material);
155     }
156 }