org.sakaiproject.api.edu.coursemanagement
Interface CourseSection

All Superinterfaces:
Persistable
All Known Implementing Classes:
CourseSectionImpl

public interface CourseSection
extends Persistable

A CourseSection is a physical instance of a course offering that has a schedule, location, roster, etc. A CourseSection represents an actual class with an assigned instructor(s) and enrolled students.

Author:
Mark Norton

Method Summary
 void addEnrollmentRecord(EnrollmentRecord record)
          Add an enrollment record for a student enrolled in this section.
 void addLeader(ParticipationRecord participationRecord)
          Add a participation record as an instructor of this section.
 void addOtherPerson(ParticipationRecord participant)
          Add a person to the other set.
 void addSectionEvent(String eventUuid)
          Add an event given it's uuid.
 Boolean getAllowSelfRegistration()
          Check to see if self-registration is allowed for this section.
 Set getAllSubSections()
          Get a set of uuids of child sections derived from this course section.
 String getCourseOffering()
          Get the course offering uuid that this course section represents.
 String getDescription()
          Get the description of this course section.
 Set getEnrollmentRecords()
          Get the set of enrollment records for students enrolled in this section.
 EnrollmentStatusType getEnrollmentStatus()
          Get the enrollment status type.
 Boolean getHoldingSection()
          Check to see if this is a holding section.
 Set getLeaders()
          Get the set of participation for the instructors of this course.
 String getLocation()
          Get the location of a course section.
 Integer getMaximumStudents()
          Get the maxiumum number of students permitted to enroll in this course section.
 String getMeetingTime()
          Get the meeting time of a course section.
 Set getOtherPeople()
          Get a set of other people associated with this course offering.
 String getParentId()
          Get the parent uuid of a course section.
 String getSchedule()
          Get the schedule of a course section.
 String getScheduleEvent()
          Get the schedule of a course section.
 Set getSectionEvents()
          Get the set of event associated with this course section.
 String getSectionNumber()
          Get the course section number.
 CourseSectionStatusType getSectionStatus()
          Get the course section status type.
 CourseSectionType getSectionType()
          Get the course section type.
 Session getSession()
          Get the session for this course section.
 Set getSubSectionsByType(CourseSectionType type)
          Get a set of uuids of child sections of a given type, derived from this course section.
 String getTitle()
          Get the title of a course section.
 void removeEnrollmentRecord(EnrollmentRecord record)
          Remove the enrollment record of a student for this ection.
 void removeLeader(String agentUuid)
          Remove a leader given an agent uuid.
 void removeOtherPerson(String agentUuid)
          Remove a person from the other set given an agent uuid.
 void removeSectionEvent(String eventUuid)
          Remove an event given it's uuid.
 void setAllowSelfRegistration(Boolean allowSelfRegistration)
          Set the self registration flag.
 void setCourseOffering(String courseOfferingUuid)
          Set the course offering uuid id that this course section represents.
 void setDescription(String description)
          Set the descriptionof this course section.
 void setEnrollmentStatus(EnrollmentStatusType status)
          Set the enrollment status type.
 void setHoldingSection(Boolean holdingSection)
          Set the holding section flag.
 void setLocation(String location)
          Set the location of this course section.
 void setMaximumStudents(Integer maxStudents)
          Set the maximum number of students permitted to entroll in this course section.
 void setMeetingTime(String meetingTime)
          Set the meeting time of this course section.
 void setParentId(String parentUuid)
          Set the parentId of this course section.
 void setSchedule(String schedule)
          Set the schedule of this course section.
 void setScheduleEvent(String scheduleEvent)
          Set the schedule of this course section.
 void setSectionNumber(String sectionNumber)
          Set the course section number.
 void setSectionStatus(CourseSectionStatusType type)
          Set the course section status type.
 void setSectionType(CourseSectionType type)
          Set the course section type.
 void setSession(Session term)
          Set the session for this course section.
 void setTitle(String title)
          Set the title of this course section.
 
Methods inherited from interface org.sakaiproject.api.common.manager.Persistable
getCreatedBy, getCreatedDate, getLastModifiedBy, getLastModifiedDate, getUuid
 

Method Detail

getTitle

public String getTitle()
Get the title of a course section.

Returns:
the title of the course section

setTitle

public void setTitle(String title)
Set the title of this course section.

Parameters:
title -

getDescription

public String getDescription()
Get the description of this course section.

Returns:
description of course section.

setDescription

public void setDescription(String description)
Set the descriptionof this course section.

Parameters:
description -

getSectionNumber

public String getSectionNumber()
Get the course section number.

Returns:
course section number.

setSectionNumber

public void setSectionNumber(String sectionNumber)
Set the course section number.

Parameters:
sectionNumber -

getMaximumStudents

public Integer getMaximumStudents()
Get the maxiumum number of students permitted to enroll in this course section.

Returns:
maxiumum number of students allowed

setMaximumStudents

public void setMaximumStudents(Integer maxStudents)
Set the maximum number of students permitted to entroll in this course section.

Parameters:
maxStudents -

getSession

public Session getSession()
Get the session for this course section.

Returns:
term for this course section.

setSession

public void setSession(Session term)
Set the session for this course section.

Parameters:
term -

getSectionType

public CourseSectionType getSectionType()
Get the course section type. This type could be a lecture, seminar, lab, recitation, studio, etc.

Returns:
course section type.

setSectionType

public void setSectionType(CourseSectionType type)
Set the course section type.

Parameters:
type -

getSectionStatus

public CourseSectionStatusType getSectionStatus()
Get the course section status type. This type could be open, closed, or wait-seted.

Returns:
course ection status type.

setSectionStatus

public void setSectionStatus(CourseSectionStatusType type)
Set the course section status type.

Parameters:
type -

getLeaders

public Set getLeaders()
Get the set of participation for the instructors of this course. While most sections will have only one instructor, provisions are made for multiple instructors.

Returns:
Set of agent uuids for instructors.

addLeader

public void addLeader(ParticipationRecord participationRecord)
Add a participation record as an instructor of this section.

Parameters:
participationRecord -

removeLeader

public void removeLeader(String agentUuid)
Remove a leader given an agent uuid. The participation record containing this uuid will be removed.

Parameters:
agentUuid -

getEnrollmentRecords

public Set getEnrollmentRecords()
Get the set of enrollment records for students enrolled in this section. Note that this set contains actual record, not uuids as is typical elsewhere.

Returns:
Set of student enrollment records.

addEnrollmentRecord

public void addEnrollmentRecord(EnrollmentRecord record)
Add an enrollment record for a student enrolled in this section.

Parameters:
record -

removeEnrollmentRecord

public void removeEnrollmentRecord(EnrollmentRecord record)
Remove the enrollment record of a student for this ection.

Parameters:
record -

getEnrollmentStatus

public EnrollmentStatusType getEnrollmentStatus()
Get the enrollment status type.

Returns:
enrollment status type

setEnrollmentStatus

public void setEnrollmentStatus(EnrollmentStatusType status)
Set the enrollment status type.

Parameters:
status -

getOtherPeople

public Set getOtherPeople()
Get a set of other people associated with this course offering. This set might include teaching assistance, lab supervisors, translators, etc. The set elements are participation uuids.

Returns:
a Set of other people associated with this course offering

addOtherPerson

public void addOtherPerson(ParticipationRecord participant)
Add a person to the other set.

Parameters:
participant -

removeOtherPerson

public void removeOtherPerson(String agentUuid)
Remove a person from the other set given an agent uuid. The participation record associated with this uuid will be removed from the set of other people.

Parameters:
agentUuid -

getCourseOffering

public String getCourseOffering()
Get the course offering uuid that this course section represents.

Returns:
course offering uuid.

setCourseOffering

public void setCourseOffering(String courseOfferingUuid)
Set the course offering uuid id that this course section represents.

Parameters:
courseOfferingUuid -

getSectionEvents

public Set getSectionEvents()
Get the set of event associated with this course section. Event objects are TBD at this time.

Returns:
a set of event associated with this course section

addSectionEvent

public void addSectionEvent(String eventUuid)
Add an event given it's uuid.

Parameters:
eventUuid -

removeSectionEvent

public void removeSectionEvent(String eventUuid)
Remove an event given it's uuid.

Parameters:
eventUuid -

getHoldingSection

public Boolean getHoldingSection()
Check to see if this is a holding section. True if this section is being used to hold students that will be re-assigned later.

Returns:
true if there is holding section

setHoldingSection

public void setHoldingSection(Boolean holdingSection)
Set the holding section flag.

Parameters:
holdingSection -

getAllowSelfRegistration

public Boolean getAllowSelfRegistration()
Check to see if self-registration is allowed for this section. If true, then students may enroll or register themselves.

Returns:
true if self registration is allowed

setAllowSelfRegistration

public void setAllowSelfRegistration(Boolean allowSelfRegistration)
Set the self registration flag.

Parameters:
allowSelfRegistration -

getLocation

public String getLocation()
Get the location of a course section.

Returns:
the location of the course section.

setLocation

public void setLocation(String location)
Set the location of this course section.

Parameters:
location -

getMeetingTime

public String getMeetingTime()
Get the meeting time of a course section.

Returns:
the meeting time of the course section.

setMeetingTime

public void setMeetingTime(String meetingTime)
Set the meeting time of this course section.

Parameters:
meetingTime -

getSchedule

public String getSchedule()
Get the schedule of a course section.

Returns:
the schedule of the course section.

setSchedule

public void setSchedule(String schedule)
Set the schedule of this course section.

Parameters:
schedule -

setScheduleEvent

public void setScheduleEvent(String scheduleEvent)
Set the schedule of this course section.

Parameters:
scheduleEvent -

getScheduleEvent

public String getScheduleEvent()
Get the schedule of a course section.

Returns:
the schedule of the course section.

getParentId

public String getParentId()
Get the parent uuid of a course section.

Returns:
the parent uuid of the course section.

setParentId

public void setParentId(String parentUuid)
Set the parentId of this course section.

Parameters:
parentUuid -

getAllSubSections

public Set getAllSubSections()
Get a set of uuids of child sections derived from this course section. Each of these sections is a real class with a location, teacher, students, etc.

Returns:
Set of course section uuids.

getSubSectionsByType

public Set getSubSectionsByType(CourseSectionType type)
Get a set of uuids of child sections of a given type, derived from this course section. Each of these sections is a real class with a location, teacher, students, etc.

Returns:
Set of course section uuids.