1 package dst.ass1.jpa.model.impl;
3 import dst.ass1.jpa.model.*;
4 import dst.ass1.jpa.util.Constants;
6 import javax.persistence.*;
7 import java.math.BigDecimal;
8 import java.util.ArrayList;
9 import java.util.Collection;
10 import java.util.Date;
13 @Table(name = Constants.T_COURSE)
14 public class Course implements ICourse {
23 private Integer capacity;
26 private Boolean premium;
29 private BigDecimal cost;
32 private CourseStatus status;
40 // , optional = false?
41 @ManyToOne(targetEntity = CoursePlatform.class)
42 private ICoursePlatform coursePlatform;
44 // , optional = false?
45 @ManyToOne(targetEntity = Lecturer.class)
46 private ILecturer lecturer;
48 @OneToMany(targetEntity = Lesson.class)
49 private Collection<ILesson> lessons = new ArrayList<>();
51 @OneToOne(targetEntity = Metadata.class, optional = false, cascade = CascadeType.ALL)
52 private IMetadata metadata;
54 @OneToMany(targetEntity = Enrollment.class)
55 private Collection<IEnrollment> enrollments = new ArrayList<>();
64 public void setId(Long id) {
69 public String getName() {
74 public void setName(String name) {
79 public Integer getCapacity() {
84 public void setCapacity(Integer capacity) {
85 this.capacity = capacity;
89 public Boolean getPremium() {
94 public void setPremium(Boolean premium) {
95 this.premium = premium;
99 public BigDecimal getCost() {
104 public void setCost(BigDecimal cost) {
109 public CourseStatus getStatus() {
114 public void setStatus(CourseStatus status) {
115 this.status = status;
119 public Date getStart() {
124 public void setStart(Date start) {
129 public Date getEnd() {
134 public void setEnd(Date end) {
139 public ICoursePlatform getCoursePlatform() {
140 return coursePlatform;
144 public void setCoursePlatform(ICoursePlatform coursePlatform) {
145 this.coursePlatform = coursePlatform;
149 public ILecturer getLecturer() {
154 public void setLecturer(ILecturer lecturer) {
155 this.lecturer = lecturer;
159 public Collection<ILesson> getLessons() {
164 public void setLessons(Collection<ILesson> lessons) {
165 this.lessons = lessons;
169 public void addLesson(ILesson lesson) {
170 this.lessons.add(lesson);
174 public IMetadata getMetadata() {
179 public void setMetadata(IMetadata metadata) {
180 this.metadata = metadata;
184 public Collection<IEnrollment> getEnrollments() {
189 public void setEnrollments(Collection<IEnrollment> enrollments) {
190 this.enrollments = enrollments;
194 public void addEnrollment(IEnrollment enrollment) {
195 this.enrollments.add(enrollment);