]> git.somenet.org - pub/jan/dst18.git/blob - ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Course.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 / Course.java
1 package dst.ass1.jpa.model.impl;
2
3 import dst.ass1.jpa.model.*;
4 import dst.ass1.jpa.util.Constants;
5
6 import javax.persistence.*;
7 import java.math.BigDecimal;
8 import java.util.ArrayList;
9 import java.util.Collection;
10 import java.util.Date;
11
12 @Entity
13 @Table(name = Constants.T_COURSE)
14 public class Course implements ICourse {
15     @Id
16     @GeneratedValue
17     private Long id;
18
19     @Column
20     private String name;
21
22     @Column
23     private Integer capacity;
24
25     @Column
26     private Boolean premium;
27
28     @Column
29     private BigDecimal cost;
30
31     @Column
32     private CourseStatus status;
33
34     @Column
35     private Date start;
36
37     @Column
38     private Date end;
39
40     // , optional = false?
41     @ManyToOne(targetEntity = CoursePlatform.class)
42     private ICoursePlatform coursePlatform;
43
44     // , optional = false?
45     @ManyToOne(targetEntity = Lecturer.class)
46     private ILecturer lecturer;
47
48     @OneToMany(targetEntity = Lesson.class)
49     private Collection<ILesson> lessons = new ArrayList<>();
50
51     @OneToOne(targetEntity = Metadata.class, optional = false, cascade = CascadeType.ALL)
52     private IMetadata metadata;
53
54     @OneToMany(targetEntity = Enrollment.class)
55     private Collection<IEnrollment> enrollments = new ArrayList<>();
56
57
58     @Override
59     public Long getId() {
60         return id;
61     }
62
63     @Override
64     public void setId(Long id) {
65         this.id = id;
66     }
67
68     @Override
69     public String getName() {
70         return name;
71     }
72
73     @Override
74     public void setName(String name) {
75         this.name = name;
76     }
77
78     @Override
79     public Integer getCapacity() {
80         return capacity;
81     }
82
83     @Override
84     public void setCapacity(Integer capacity) {
85         this.capacity = capacity;
86     }
87
88     @Override
89     public Boolean getPremium() {
90         return premium;
91     }
92
93     @Override
94     public void setPremium(Boolean premium) {
95         this.premium = premium;
96     }
97
98     @Override
99     public BigDecimal getCost() {
100         return cost;
101     }
102
103     @Override
104     public void setCost(BigDecimal cost) {
105         this.cost = cost;
106     }
107
108     @Override
109     public CourseStatus getStatus() {
110         return status;
111     }
112
113     @Override
114     public void setStatus(CourseStatus status) {
115         this.status = status;
116     }
117
118     @Override
119     public Date getStart() {
120         return start;
121     }
122
123     @Override
124     public void setStart(Date start) {
125         this.start = start;
126     }
127
128     @Override
129     public Date getEnd() {
130         return end;
131     }
132
133     @Override
134     public void setEnd(Date end) {
135         this.end = end;
136     }
137
138     @Override
139     public ICoursePlatform getCoursePlatform() {
140         return coursePlatform;
141     }
142
143     @Override
144     public void setCoursePlatform(ICoursePlatform coursePlatform) {
145         this.coursePlatform = coursePlatform;
146     }
147
148     @Override
149     public ILecturer getLecturer() {
150         return lecturer;
151     }
152
153     @Override
154     public void setLecturer(ILecturer lecturer) {
155         this.lecturer = lecturer;
156     }
157
158     @Override
159     public Collection<ILesson> getLessons() {
160         return lessons;
161     }
162
163     @Override
164     public void setLessons(Collection<ILesson> lessons) {
165         this.lessons = lessons;
166     }
167
168     @Override
169     public void addLesson(ILesson lesson) {
170         this.lessons.add(lesson);
171     }
172
173     @Override
174     public IMetadata getMetadata() {
175         return metadata;
176     }
177
178     @Override
179     public void setMetadata(IMetadata metadata) {
180         this.metadata = metadata;
181     }
182
183     @Override
184     public Collection<IEnrollment> getEnrollments() {
185         return enrollments;
186     }
187
188     @Override
189     public void setEnrollments(Collection<IEnrollment> enrollments) {
190         this.enrollments = enrollments;
191     }
192
193     @Override
194     public void addEnrollment(IEnrollment enrollment) {
195         this.enrollments.add(enrollment);
196     }
197 }