package org.okip.okifunc.classadmin.api;

public interface CanonicalCourse
extends java.io.Serializable
{
    void add EquivalentCourses(CourseSequence courseSequence);
    void remove EquivalentCourses(CourseSequence courseSequence);
    CanonicalCourse[] getEquivalentCourses(CourseSequence courseSequence);
    public void setTitle(String title) throws ClassadminException;
    public String getTitle() throws ClassadminException;
    public void setLocalId(org.okip.service.localid.api.LocalId localId) throws ClassadminException;
    public org.okip.service.localid.api.LocalId getLocalId() throws ClassadminException;
    public void setCourseType(CourseType courseType) throws ClassadminException;
    public CourseType getCourseType() throws ClassadminException;
    public void setCourseStatus(CourseStatus courseStatus) throws ClassadminException;
    public CourseStatus getCourseStatus() throws ClassadminException;
    public void setCredits(float credits) throws ClassadminException;
    public float getCredits() throws ClassadminException;
    public void setCourseNumber(String courseNumber) throws ClassadminException;
    public String getCourseNumber() throws ClassadminException;
    public void setDescription(String description) throws ClassadminException;
    public String getDescription() throws ClassadminException;
    public void addPreRequisite(CanonicalCourse preRequisite) throws ClassadminException;
    public void removePreRequisite(CanonicalCourse preRequisite) throws ClassadminException;
    public CanonicalCourse[] getPreRequisite() throws ClassadminException;
    public void addCoRequisite(CanonicalCourse coRequisite) throws ClassadminException;
    public void removeCoRequisite(CanonicalCourse coRequisite) throws ClassadminException;
    public CanonicalCourse[] getCoRequisite() throws ClassadminException;
    public void addRequiredForSequence(String requiredForSequence) throws ClassadminException;
    public void removeRequiredForSequence(String requiredForSequence) throws ClassadminException;
    public String[] getRequiredForSequence() throws ClassadminException;
    public void addCourseOffering(CourseOffering courseOffering) throws ClassadminException;
    public void removeCourseOffering(CourseOffering courseOffering) throws ClassadminException;
    public CourseOffering[] getCourseOffering() throws ClassadminException;
    public void addTopic(Topic topic) throws ClassadminException;
    public void removeTopic(Topic topic) throws ClassadminException;
    public Topic[] getTopic() throws ClassadminException;
}
