public interface CourseNotificationSession extends OsidSession
This session defines methods to receive notifications on adds/changes
to Course
objects in this CourseCatalog.
This also includes existing courses that may appear or disappear due to
changes in the CourseCatalog
hierarchy, This session is
intended for consumers needing to synchronize their state with this
service without the use of polling. Notifications are cancelled when this
session is closed.
The two views defined in this session correspond to the views in the
CourseLookupSession.
Modifier and Type | Method and Description |
---|---|
void |
acknowledgeCourseNotification(Id notificationId)
Acknowledge a course notification.
|
boolean |
canRegisterForCourseNotifications()
Tests if this user can register for
Course
notifications. |
CourseCatalog |
getCourseCatalog()
Gets the
CourseCatalog associated with this session. |
Id |
getCourseCatalogId()
Gets the
CourseCatalog Id associated
with this session. |
void |
registerForChangedCourse(Id courseId)
Registers for notification of an updated course.
|
void |
registerForChangedCourses()
Registers for notification of updated courses.
|
void |
registerForDeletedCourse(Id courseId)
Registers for notification of a deleted course.
|
void |
registerForDeletedCourses()
Registers for notification of deleted courses.
|
void |
registerForNewCourses()
Register for notifications of new courses.
|
void |
reliableCourseNotifications()
Reliable notifications are desired.
|
void |
unreliableCourseNotifications()
Unreliable notifications are desired.
|
void |
useFederatedCourseCatalogView()
Federates the view for methods in this session.
|
void |
useIsolatedCourseCatalogView()
Isolates the view for methods in this session.
|
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 canRegisterForCourseNotifications()
Course
notifications. 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 opt not
to offer notification operations. false
if notification methods are not
authorized, true
otherwisemandatory
- This method must be implemented. void useFederatedCourseCatalogView()
mandatory
- This method is must be implemented. void useIsolatedCourseCatalogView()
mandatory
- This method is must be implemented. void reliableCourseNotifications()
acknowledgeCourseNotification()
.mandatory
- This method is must be implemented. void unreliableCourseNotifications()
mandatory
- This method is must be implemented. void acknowledgeCourseNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException
notificationId
- the Id
of the notificationOperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForNewCourses() throws OperationFailedException, PermissionDeniedException
CourseReceiver.newCourses()
is invoked when a new
Course
appears in this course catalog.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedCourses() throws OperationFailedException, PermissionDeniedException
CourseReceiver.changedCourses()
is invoked when a course in
this course catalog is changed.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedCourse(Id courseId) throws OperationFailedException, PermissionDeniedException
CourseReceiver.changedCourses()
is invoked when the specified
course in this course catalog is changed.courseId
- the Id
of the Course
to
monitorNullArgumentException
- courseId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForDeletedCourses() throws OperationFailedException, PermissionDeniedException
CourseReceiver.deletedCourses()
is invoked when a course is
deleted or removed from this course catalog.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForDeletedCourse(Id courseId) throws OperationFailedException, PermissionDeniedException
CourseReceiver.deletedCourses()
is invoked when the specified
course is deleted or removed from this course catalog.courseId
- the Id
of the Course
to
monitorNullArgumentException
- courseId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.