public interface CourseLookupSession extends OsidSession
This session defines methods for retrieving courses. A Course
is a canonical course listed in a course catalog. A
CourseOffering is derived from a Course and maps to
an offering time and registered students.
This lookup session defines several views:
Courses with the CourseAdminSession.
The methods useFederatedCourseCatalogView() and
useIsolatedCourseCatalogView() behave as a radio group and one
should be selected before invoking any lookup methods.
Courses may have an additional records indicated by their respective
record types. The record may not be accessed through a cast of the
Course.
| Modifier and Type | Method and Description |
|---|---|
boolean |
canLookupCourses()
Tests if this user can perform
Course lookups. |
Course |
getCourse(Id courseId)
Gets the
Course specified by its Id. |
CourseCatalog |
getCourseCatalog()
Gets the
CourseCatalog associated with this session. |
Id |
getCourseCatalogId()
Gets the
CourseCatalog Id associated
with this session. |
CourseList |
getCourses()
Gets all
Courses. |
CourseList |
getCoursesByGenusType(Type courseGenusType)
Gets a
CourseList corresponding to the given course
genus Type which does not include courses of types
derived from the specified Type. |
CourseList |
getCoursesByIds(IdList courseIds)
Gets a
CourseList corresponding to the given
IdList. |
CourseList |
getCoursesByNumber(java.lang.String number)
Gets a
CourseList by the given number. |
CourseList |
getCoursesByParentGenusType(Type courseGenusType)
Gets a
CourseList corresponding to the given course
genus Type and include any additional courses with
genus types derived from the specified Type. |
CourseList |
getCoursesByRecordType(Type courseRecordType)
Gets a
CourseList containing the given course record
Type. |
void |
useActiveCourseView()
Only active courses are returned by methods in this session.
|
void |
useAnyStatusCourseView()
All courses of any active or inactive status are returned by methods
in this session.
|
void |
useComparativeCourseView()
The returns from the lookup methods may omit or translate elements
based on this session, such as authorization, and not result in an
error.
|
void |
useFederatedCourseCatalogView()
Federates the view for methods in this session.
|
void |
useIsolatedCourseCatalogView()
Isolates the view for methods in this session.
|
void |
usePlenaryCourseView()
A complete view of the
Course returns is desired. |
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionscloseId getCourseCatalogId()
CourseCatalog Id associated
with this session. CourseCatalog Id associated with this
sessionmandatory - This method must be implemented. CourseCatalog getCourseCatalog() throws OperationFailedException, PermissionDeniedException
CourseCatalog associated with this session.OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. boolean canLookupCourses()
Course lookups. A return
of true does not guarantee successful authorization. A return of false
indicates that it is known all methods in this session will result in
a PERMISSION_DENIED. This is intended as a hint to an
application that may not offer lookup operations to unauthorized
users. false if lookup methods are not authorized,
true otherwisemandatory - This method must be implemented. void useComparativeCourseView()
mandatory - This method is must be implemented. void usePlenaryCourseView()
Course returns is desired.
Methods will return what is requested or result in an error. This view
is used when greater precision is desired at the expense of
interoperability.mandatory - This method is must be implemented. void useFederatedCourseCatalogView()
mandatory - This method is must be implemented. void useIsolatedCourseCatalogView()
mandatory - This method is must be implemented. void useActiveCourseView()
mandatory - This method is must be implemented. void useAnyStatusCourseView()
mandatory - This method is must be implemented. Course getCourse(Id courseId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Course specified by its Id.
In plenary mode, the exact Id is found
or a NOT_FOUND results. Otherwise, the returned
Course may have a different Id than requested,
such as the case where a duplicate Id was assigned to a
Course and retained for compatibility.
In active mode, courses are returned that are currently active. In any
status mode, active and inactive courses are returned.courseId - the Id of the Course to
retrieve Course NotFoundException - no Course found with
the given Id NullArgumentException - courseId is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. CourseList getCoursesByIds(IdList courseIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
CourseList corresponding to the given
IdList.
In plenary mode, the returned list contains all of the
courses specified in the Id list, in the order of the
list, including duplicates, or an error results if an Id
in the supplied list is not found or inaccessible. Otherwise,
inaccessible Courses may be omitted from the list and
may present the elements in any order including returning a unique
set.
In active mode, courses are returned that are currently active. In any
status mode, active and inactive courses are returned.courseIds - the list of Ids to retrieve CourseList listNotFoundException - an Id was not foundNullArgumentException - courseIds is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. CourseList getCoursesByGenusType(Type courseGenusType) throws OperationFailedException, PermissionDeniedException
CourseList corresponding to the given course
genus Type which does not include courses of types
derived from the specified Type.
In plenary mode, the returned list contains all known
courses or an error results. Otherwise, the returned list may contain
only those courses that are accessible through this session.
In active mode, courses are returned that are currently active. In any
status mode, active and inactive courses are returned.courseGenusType - a course genus type CourseList listNullArgumentException - courseGenusType
is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. CourseList getCoursesByParentGenusType(Type courseGenusType) throws OperationFailedException, PermissionDeniedException
CourseList corresponding to the given course
genus Type and include any additional courses with
genus types derived from the specified Type.
In plenary mode, the returned list contains all known
courses or an error results. Otherwise, the returned list may contain
only those courses that are accessible through this session.
In active mode, courses are returned that are currently active. In any
status mode, active and inactive courses are returned.courseGenusType - a course genus type CourseList listNullArgumentException - courseGenusType
is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. CourseList getCoursesByRecordType(Type courseRecordType) throws OperationFailedException, PermissionDeniedException
CourseList containing the given course record
Type.
In plenary mode, the returned list contains all known courses or an
error results. Otherwise, the returned list may contain only those
courses that are accessible through this session.
In active mode, courses are returned that are currently active. In any
status mode, active and inactive courses are returned.courseRecordType - a course record type CourseList listNullArgumentException - courseRecordType
is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. CourseList getCoursesByNumber(java.lang.String number) throws OperationFailedException, PermissionDeniedException
CourseList by the given number.
In plenary mode, the returned list contains all known courses or an
error results. Otherwise, the returned list may contain only those
courses that are accessible through this session.
In active mode, courses are returned that are currently active. In any
status mode, active and inactive courses are returned.number - a course number CourseList listNullArgumentException - number is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. CourseList getCourses() throws OperationFailedException, PermissionDeniedException
Courses.
In plenary mode, the returned list contains all known courses or an
error results. Otherwise, the returned list may contain only those
courses that are accessible through this session.
In active mode, courses are returned that are currently active. In any
status mode, active and inactive courses are returned. Courses OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented.