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, supportsTransactions
close
Id 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.