001: /**********************************************************************************
002: * $URL: https://source.sakaiproject.org/svn/course-management/tags/sakai_2-4-1/cm-api/api/src/java/org/sakaiproject/coursemanagement/api/Section.java $
003: * $Id: Section.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.Set;
023:
024: /**
025: * Models a "cohort" (a stable group which enrolls in multiple courses as a unit)
026: * as well as officially delimited course "groups" and "sections".
027: *
028: * @author <a href="mailto:jholtzman@berkeley.edu">Josh Holtzman</a>
029: */
030: public interface Section {
031:
032: /**
033: * A unique enterprise id
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: * The title
050: * @return
051: */
052: public String getTitle();
053:
054: public void setTitle(String title);
055:
056: /**
057: * A description
058: * @return
059: */
060: public String getDescription();
061:
062: public void setDescription(String description);
063:
064: /**
065: * A category for this Section. A category might be lecture, lab, discussion, or some
066: * other kind of classification.
067: * @return
068: */
069: public String getCategory();
070:
071: public void setCategory(String category);
072:
073: /**
074: * The meeting time for this section.
075: * @return
076: */
077: public Set<Meeting> getMeetings();
078:
079: public void setMeetings(Set<Meeting> meetingTimes);
080:
081: /**
082: * Gets the parent Section for this Section, or null if this is not a subSection.
083: * @return
084: */
085: public Section getParent();
086:
087: public void setParent(Section parent);
088:
089: /**
090: * Gets the EnrollmentSet associated with this Section, if any.
091: * @return
092: */
093: public EnrollmentSet getEnrollmentSet();
094:
095: public void setEnrollmentSet(EnrollmentSet enrollmentSet);
096:
097: /**
098: * Gets the enterprise ID of the Section's containing CourseOffering.
099: * @return
100: */
101: public String getCourseOfferingEid();
102:
103: /**
104: * Gets maximum size allowed in a Section
105: * @return
106: */
107: public Integer getMaxSize();
108:
109: public void setMaxSize(Integer maxSize);
110: }
|