public interface TermNotificationSession extends OsidSession
This session defines methods to receive notifications on adds/changes
to Term
objects in this CourseCatalog.
This
also includes existing terms 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
TermLookupSession.
Modifier and Type | Method and Description |
---|---|
void |
acknowledgeTermNotification(Id notificationId)
Acknowledge a term notification.
|
boolean |
canRegisterForTermNotifications()
Tests if this user can register for
Term notifications. |
CourseCatalog |
getCourseCatalog()
Gets the
CourseCatalog associated with this session. |
Id |
getCourseCatalogId()
Gets the
CourseCatalog Id associated
with this session. |
void |
registerForChangedTerm(Id termId)
Registers for notification of an updated term.
|
void |
registerForChangedTermHierarchy()
Registers for notification of an updated term hierarchy structure.
|
void |
registerForChangedTermHierarchyForAncestors(Id termId)
Registers for notification of an updated term hierarchy structure.
|
void |
registerForChangedTermHierarchyForDescendants(Id termId)
Term
Receiver.changedChildOfTerms() is invoked when the
specified node or any of its descendants experiences a change in its
children. |
void |
registerForChangedTerms()
Registers for notification of updated courses.
|
void |
registerForDeletedTerm(Id termId)
Registers for notification of a deleted term.
|
void |
registerForDeletedTerms()
Registers for notification of deleted terms.
|
void |
registerForNewTerms()
Register for notifications of new terms.
|
void |
reliableTermNotifications()
Reliable notifications are desired.
|
void |
unreliableTermNotifications()
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 canRegisterForTermNotifications()
Term
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 reliableTermNotifications()
acknowledgeTermNotification()
.mandatory
- This method is must be implemented. void unreliableTermNotifications()
mandatory
- This method is must be implemented. void acknowledgeTermNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException
notificationId
- the Id
of the notificationOperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForNewTerms() throws OperationFailedException, PermissionDeniedException
TermReceiver.newTerms()
is invoked when a new Term
appears in this course catalog.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedTerms() throws OperationFailedException, PermissionDeniedException
TermReceiver.changedTerms()
is invoked when a term in this
course catalog is changed.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedTerm(Id termId) throws OperationFailedException, PermissionDeniedException
TermReceiver.changedTerms()
is invoked when the specified term
in this course catalog is changed.termId
- the Id
of the Term
to
monitorNullArgumentException
- termId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForDeletedTerms() throws OperationFailedException, PermissionDeniedException
TermReceiver.deletedTerms()
is invoked when a term is deleted
or removed from this course catalog.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForDeletedTerm(Id termId) throws OperationFailedException, PermissionDeniedException
TermReceiver.deletedTerm()
is invoked when the specified term
is deleted or removed from this course catalog.termId
- the Id
of the Term
to
monitorNullArgumentException
- termId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedTermHierarchy() throws OperationFailedException, PermissionDeniedException
TermReceiver.changedChildOTerms()
is invoked when a
node experiences a change in its children.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedTermHierarchyForAncestors(Id termId) throws OperationFailedException, PermissionDeniedException
TermReceiver.changedChildOfTerms()
is invoked when the
specified node or any of its ancestors experiences a change in its
children.termId
- the Id
of the Term
node
to monitorNullArgumentException
- termId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedTermHierarchyForDescendants(Id termId) throws OperationFailedException, PermissionDeniedException
Receiver.changedChildOfTerms()
is invoked when the
specified node or any of its descendants experiences a change in its
children.termId
- the Id
of the Term
node
to monitorNullArgumentException
- termId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.