package dst.ass1.jpa.model;

import java.math.BigDecimal;
import java.util.Collection;
import java.util.Date;

public interface ICourse {

    Long getId();

    void setId(Long id);

    String getName();

    void setName(String name);

    Integer getCapacity();

    void setCapacity(Integer capacity);

    Boolean getPremium();

    void setPremium(Boolean premium);

    BigDecimal getCost();

    void setCost(BigDecimal cost);

    CourseStatus getStatus();

    void setStatus(CourseStatus status);

    Date getStart();

    void setStart(Date start);

    Date getEnd();

    void setEnd(Date end);

    ICoursePlatform getCoursePlatform();

    void setCoursePlatform(ICoursePlatform coursePlatform);

    ILecturer getLecturer();

    void setLecturer(ILecturer lecturer);

    Collection<ILesson> getLessons();

    void setLessons(Collection<ILesson> lessons);

    void addLesson(ILesson lesson);

    IMetadata getMetadata();

    void setMetadata(IMetadata metadata);

    Collection<IEnrollment> getEnrollments();

    void setEnrollments(Collection<IEnrollment> enrollments);

    void addEnrollment(IEnrollment enrollment);

}
