public interface ObjectiveNotificationSession extends OsidSession
This session defines methods to receive asynchronous notifications on
adds/changes to Objective
objects. 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 views defined in this session correspond to the views in the
ObjectiveLookupSession.
Modifier and Type | Method and Description |
---|---|
void |
acknowledgeObjectiveNotification(Id notificationId)
Acknowledge an objective notification.
|
boolean |
canRegisterForObjectiveNotifications()
Tests if this user can register for
Objective
notifications. |
ObjectiveBank |
getObjectiveBank()
Gets the
ObjectiveBank associated with this session. |
Id |
getObjectiveBankId()
Gets the
ObjectiveBank Id associated
with this session. |
void |
registerForChangedObjective(Id objectiveId)
Registers for notification of an updated objective.
|
void |
registerForChangedObjectiveHierarchy()
Registers for notification of an updated objective hierarchy
structure.
|
void |
registerForChangedObjectiveHierarchyForAncestors(Id objectiveId)
Registers for notification of an updated objective hierarchy
structure.
|
void |
registerForChangedObjectiveHierarchyForDescendants(Id objectiveId)
Registers for notification of an updated objective hierarchy
structure.
|
void |
registerForChangedObjectives()
Registers for notification of updated objectives.
|
void |
registerForDeletedObjective(Id objectiveId)
Registers for notification of a deleted objective.
|
void |
registerForDeletedObjectives()
Registers for notification of deleted objectives.
|
void |
registerForNewObjectives()
Register for notifications of new objectives.
|
void |
reliableObjectiveNotifications()
Reliable notifications are desired.
|
void |
unreliableObjectiveNotifications()
Unreliable notifications are desired.
|
void |
useFederatedObjectiveBankView()
Federates the view for methods in this session.
|
void |
useIsolatedObjectiveBankView()
Isolates the view for methods in this session.
|
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
Id getObjectiveBankId()
ObjectiveBank
Id
associated
with this session. ObjectiveBank Id
associated with this
sessionmandatory
- This method must be implemented. ObjectiveBank getObjectiveBank() throws OperationFailedException, PermissionDeniedException
ObjectiveBank
associated with this session. ObjectiveBank
associated with this sessionOperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. boolean canRegisterForObjectiveNotifications()
Objective
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 useFederatedObjectiveBankView()
mandatory
- This method is must be implemented. void useIsolatedObjectiveBankView()
mandatory
- This method is must be implemented. void reliableObjectiveNotifications()
acknowledgeObjectiveNotification()
.mandatory
- This method is must be implemented. void unreliableObjectiveNotifications()
mandatory
- This method is must be implemented. void acknowledgeObjectiveNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException
notificationId
- the Id
of the notificationOperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForNewObjectives() throws OperationFailedException, PermissionDeniedException
ObjectiveReceiver.newObjectives()
is invoked when a new
objective is created.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedObjectives() throws OperationFailedException, PermissionDeniedException
ObjectiveReceiver.changedObjectives()
is invoked when an
objective is changed.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedObjective(Id objectiveId) throws OperationFailedException, PermissionDeniedException
ObjectiveReceiver.changedObjectives()
is invoked when the
specified objective is changed.objectiveId
- the Id
of the Objective
to monitorNullArgumentException
- objectiveId is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForDeletedObjectives() throws OperationFailedException, PermissionDeniedException
ObjectiveReceiver.deletedObjectives()
is invoked when an
objective is removed from this objective bank.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForDeletedObjective(Id objectiveId) throws OperationFailedException, PermissionDeniedException
ObjectiveReceiver.changedObjectives()
is invoked when the
specified objective is removed from this objective bank.objectiveId
- the Id
of the Objective
to monitorNullArgumentException
- objectiveid is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedObjectiveHierarchy() throws OperationFailedException, PermissionDeniedException
ObjectiveReceiver.changedChildOfObjectives()
is invoked when a node experiences a change in its children.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedObjectiveHierarchyForAncestors(Id objectiveId) throws OperationFailedException, PermissionDeniedException
ObjectiveReceiver.changedChildOfObjectives()
is invoked when the specified node or any of its ancestors experiences
a change in its children.objectiveId
- the Id
of the Objective
node to monitorNullArgumentException
- objectiveId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedObjectiveHierarchyForDescendants(Id objectiveId) throws OperationFailedException, PermissionDeniedException
ObjectiveReceiver.changedChildOfObjectives()
is invoked when the specified node or any of its descendants
experiences a change in its children.objectiveId
- the Id
of the Objective
node to monitorNullArgumentException
- objectiveId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.