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