org.sakaiproject.api.edu.coursemanagement
Interface CanonicalCourse

All Superinterfaces:
Persistable
All Known Implementing Classes:
CanonicalCourseImpl

public interface CanonicalCourse
extends Persistable

A Canonical Course is a general course that exists across terms. It is an abstract course. One way of thinking about canonical courses is that they are the set of all possible courses that could be offered at a university. Not that all courses are not offered every term, which is why there is a course offering (see below). This class provides access to a title, catalog description, course number, default credits, a list of topics, a list of equivalent courses, and a list of prerequisites. From a structural viewpoint, the class includes a canonical course type, a unique id, a parent canonical course, child canonical courses, and course offerings based on this course.

* @author Mark Norton


Method Summary
 void addEquivalent(String canonicalCourseUuid)
          Add the canonical course given by its uuid to the list of equivalent courses.
 void addPrerequisite(String prerequisite)
          Add a prerequisite string to the list of prerequisites.
 void addTopic(String topic)
          Add a topic string to the list of course topics.
 CanonicalCourseStatusType getCanonicalCourseStatus()
          Get the course type of this canonical course.
 String getCourseNumber()
          Get the course number.
 String getDefaultCredits()
          Get the default credits for this course.
 String getDescription()
          Get the description of this canonical course.
 Set getEquivalents()
          Get a list of equivalent canonical courses uuids.
 Set getOfferings()
          Get a set of course offering uuids derived from this canonical course.
 String getParentId()
          Get the uuid of the parent of this canonical course.
 Set getPrerequisites()
          Get the set of prerequisites.
 String getTitle()
          Get the title of a canonical course as it might appear in a course catalog.
 List getTopics()
          Get a list of topics associated with this course.
 void removeEquivalent(String canonicalCourseUuid)
          Remove the canonical course given by its uuid to the list of equivalent courses.
 void removeOffering(String offeringUuid)
          Remove a course offering from the list in this canonical course.
 void removePrerequisite(String prerequisite)
          Remove a prerequisite string to the list of prerequisites.
 void removeTopic(String topic)
          Remove a topic string from the list of course topics.
 void setCanonicalCourseStatus(CanonicalCourseStatusType type)
          Set the course type of this canonical course.
 void setCourseNumber(String courseNumber)
          Set the course number.
 void setDefaultCredits(String defaultCredits)
          Set the defalt credits.
 void setDescription(String description)
          Set the description of this canonical course.
 void setParentId(String parentUuid)
          Set the uuid parent of this course.
 void setTitle(String title)
          Set the title of a canonical course as it might appear in a course catalog.
 
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 canonical course as it might appear in a course catalog.

Returns:
the tile of the canonical course.

setTitle

public void setTitle(String title)
Set the title of a canonical course as it might appear in a course catalog.

Parameters:
title -

getDescription

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

Returns:
the desription of the canonical course.

setDescription

public void setDescription(String description)
Set the description of this canonical course.

Parameters:
description -

getCourseNumber

public String getCourseNumber()
Get the course number. There are no restrictions on how this number is formatted.

Returns:
Course number

setCourseNumber

public void setCourseNumber(String courseNumber)
Set the course number. There are no restirctions on how this number is foramtted.

Parameters:
courseNumber -

getCanonicalCourseStatus

public CanonicalCourseStatusType getCanonicalCourseStatus()
Get the course type of this canonical course. Typically, this type will indicate if ths canonical course is available, discontinued, etc.

Returns:
status

setCanonicalCourseStatus

public void setCanonicalCourseStatus(CanonicalCourseStatusType type)
Set the course type of this canonical course.

Parameters:
type -

getDefaultCredits

public String getDefaultCredits()
Get the default credits for this course. While there are no requirements on what this field contains, a numerical quantity is likely expected.

Returns:
the default credits.

setDefaultCredits

public void setDefaultCredits(String defaultCredits)
Set the defalt credits.

Parameters:
defaultCredits -

getTopics

public List getTopics()
Get a list of topics associated with this course. Each topic is a text string. Order of topic strings is retained.

Returns:
List of topic strings.

addTopic

public void addTopic(String topic)
Add a topic string to the list of course topics.

Parameters:
topic -

removeTopic

public void removeTopic(String topic)
Remove a topic string from the list of course topics. String must be identical to the one being removed.

Parameters:
topic -

getEquivalents

public Set getEquivalents()
Get a list of equivalent canonical courses uuids. This is one way to represent cross listing in a set of courses.

Returns:
List of canonical course uuids.

addEquivalent

public void addEquivalent(String canonicalCourseUuid)
Add the canonical course given by its uuid to the list of equivalent courses.

Parameters:
canonicalCourseUuid -

removeEquivalent

public void removeEquivalent(String canonicalCourseUuid)
Remove the canonical course given by its uuid to the list of equivalent courses.

Parameters:
canonicalCourseUuid -

getPrerequisites

public Set getPrerequisites()
Get the set of prerequisites.

Returns:
Set of prerequiste strings.

addPrerequisite

public void addPrerequisite(String prerequisite)
Add a prerequisite string to the list of prerequisites.

Parameters:
prerequisite -

removePrerequisite

public void removePrerequisite(String prerequisite)
Remove a prerequisite string to the list of prerequisites. The string must be identical to the one being removed.

Parameters:
prerequisite -

getParentId

public String getParentId()
Get the uuid of the parent of this canonical course. Null is returned if there is no partent of this course.

Returns:
Uuid of parent.

setParentId

public void setParentId(String parentUuid)
Set the uuid parent of this course.

Parameters:
parentUuid -

getOfferings

public Set getOfferings()
Get a set of course offering uuids derived from this canonical course.

Returns:
Set of course offering uuids.

removeOffering

public void removeOffering(String offeringUuid)
Remove a course offering from the list in this canonical course. Uuid must be identical to the one to be removed.

Parameters:
offeringUuid -