package com.magistr.app.model;

import jakarta.persistence.*;

@Entity
@Table(name = "academic_calendars")
public class AcademicCalendar {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(nullable = false)
    private String title;

    @ManyToOne(optional = false)
    @JoinColumn(name = "academic_year_id", nullable = false)
    private AcademicYear academicYear;

    @ManyToOne(optional = false)
    @JoinColumn(name = "specialty_id", nullable = false)
    private Speciality speciality;

    @ManyToOne(optional = false)
    @JoinColumn(name = "specialty_profile_id", nullable = false)
    private SpecialtyProfile specialtyProfile;

    @ManyToOne(optional = false)
    @JoinColumn(name = "study_form_id", nullable = false)
    private EducationForm studyForm;

    @Column(name = "course_count", nullable = false)
    private Integer courseCount;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public AcademicYear getAcademicYear() {
        return academicYear;
    }

    public void setAcademicYear(AcademicYear academicYear) {
        this.academicYear = academicYear;
    }

    public Speciality getSpeciality() {
        return speciality;
    }

    public void setSpeciality(Speciality speciality) {
        this.speciality = speciality;
    }

    public SpecialtyProfile getSpecialtyProfile() {
        return specialtyProfile;
    }

    public void setSpecialtyProfile(SpecialtyProfile specialtyProfile) {
        this.specialtyProfile = specialtyProfile;
    }

    public EducationForm getStudyForm() {
        return studyForm;
    }

    public void setStudyForm(EducationForm studyForm) {
        this.studyForm = studyForm;
    }

    public Integer getCourseCount() {
        return courseCount;
    }

    public void setCourseCount(Integer courseCount) {
        this.courseCount = courseCount;
    }
}
