package fi.otavanopisto.pyramus.domainmodel.grading; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToOne; import javax.persistence.PrimaryKeyJoinColumn; import javax.validation.constraints.NotNull; import org.hibernate.validator.constraints.NotEmpty; import fi.otavanopisto.pyramus.domainmodel.base.CourseOptionality; import fi.otavanopisto.pyramus.domainmodel.base.Curriculum; import fi.otavanopisto.pyramus.domainmodel.base.EducationalLength; import fi.otavanopisto.pyramus.domainmodel.base.School; import fi.otavanopisto.pyramus.domainmodel.base.Subject; import fi.otavanopisto.pyramus.domainmodel.students.Student; @Entity @PrimaryKeyJoinColumn(name = "id") public class TransferCredit extends Credit { public TransferCredit() { super(); setCreditType(CreditType.TransferCredit); } public String getCourseName() { return courseName; } public void setCourseName(String courseName) { this.courseName = courseName; } public Integer getCourseNumber() { return courseNumber; } public void setCourseNumber(Integer courseNumber) { this.courseNumber = courseNumber; } public EducationalLength getCourseLength() { return courseLength; } public void setCourseLength(EducationalLength courseLength) { this.courseLength = courseLength; } public School getSchool() { return school; } public void setSchool(School school) { this.school = school; } public Subject getSubject() { return subject; } public void setSubject(Subject subject) { this.subject = subject; } public CourseOptionality getOptionality() { return optionality; } public void setOptionality(CourseOptionality optionality) { this.optionality = optionality; } public Student getStudent() { return student; } public void setStudent(Student student) { this.student = student; } public Curriculum getCurriculum() { return curriculum; } public void setCurriculum(Curriculum curriculum) { this.curriculum = curriculum; } @ManyToOne @JoinColumn(name="student") private Student student; @NotNull @Column(nullable = false) @NotEmpty private String courseName; private Integer courseNumber; @OneToOne @JoinColumn(name = "courseLength") private EducationalLength courseLength; @Column @Enumerated (EnumType.STRING) private CourseOptionality optionality; @ManyToOne @JoinColumn(name = "school") private School school; @ManyToOne @JoinColumn(name = "subject") private Subject subject; @ManyToOne private Curriculum curriculum; }