001: /**********************************************************************************
002: * $URL: https://source.sakaiproject.org/svn/course-management/tags/sakai_2-4-1/cm-api/api/src/java/org/sakaiproject/coursemanagement/api/CourseOffering.java $
003: * $Id: CourseOffering.java 20104 2007-01-04 19:24:04Z jholtzman@berkeley.edu $
004: ***********************************************************************************
005: *
006: * Copyright (c) 2006 The Sakai Foundation.
007: *
008: * Licensed under the Educational Community License, Version 1.0 (the "License");
009: * you may not use this file except in compliance with the License.
010: * You may obtain a copy of the License at
011: *
012: * http://www.opensource.org/licenses/ecl1.php
013: *
014: * Unless required by applicable law or agreed to in writing, software
015: * distributed under the License is distributed on an "AS IS" BASIS,
016: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: * See the License for the specific language governing permissions and
018: * limitations under the License.
019: *
020: **********************************************************************************/package org.sakaiproject.coursemanagement.api;
021:
022: import java.util.Date;
023: import java.util.Set;
024:
025: /**
026: * An instance of a course.
027: *
028: * @author <a href="mailto:jholtzman@berkeley.edu">Josh Holtzman</a>
029: */
030: public interface CourseOffering {
031:
032: /**
033: * Gets the unique enterprise id of this CourseOffering.
034: * @return
035: */
036: public String getEid();
037:
038: public void setEid(String eid);
039:
040: /**
041: * What authority defines this object?
042: * @return
043: */
044: public String getAuthority();
045:
046: public void setAuthority(String authority);
047:
048: /**
049: * Gets the title of this CourseOffering.
050: * @return
051: */
052: public String getTitle();
053:
054: public void setTitle(String title);
055:
056: /**
057: * Gets the description of this CourseOffering.
058: * @return
059: */
060: public String getDescription();
061:
062: public void setDescription(String description);
063:
064: /**
065: * Gets the status of this CourseOffering. This might be open, closed, planned, or discontinued, for example.
066: * @return
067: */
068: public String getStatus();
069:
070: public void setStatus(String status);
071:
072: /**
073: * The AcademicSession for this course offering
074: * @return
075: */
076: public AcademicSession getAcademicSession();
077:
078: public void setAcademicSession(AcademicSession academicSession);
079:
080: /**
081: * The date this CourseOffering starts (if any). Typically, a CourseOffering
082: * starts when its AcademicSession starts. Since this isn't necessarily true
083: * for every CourseOffering, the startDate can be set explicitly here.
084: *
085: * @return
086: */
087: public Date getStartDate();
088:
089: public void setStartDate(Date startDate);
090:
091: /**
092: * The date this CourseOffering ends (if any). Typically, a CourseOffering
093: * ends when its AcademicSession ends. Since this isn't necessarily true
094: * for every CourseOffering, the endDate can be set explicitly here.
095: *
096: * @return
097: */
098: public Date getEndDate();
099:
100: public void setEndDate(Date endDate);
101:
102: /**
103: * Gets the enterprise ID of the CourseOffering's CanonicalCourse.
104: * @return
105: */
106: public String getCanonicalCourseEid();
107:
108: /**
109: * Gets the Set <String> of course set EIDs that contain this canonical course.
110: * @return
111: */
112: public Set<String> getCourseSetEids();
113:
114: }
|