Interface ProficiencyNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ProficiencyNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Proficiencies . in this ObjectiveBank . This also includes existing proficiencies that may appear or disappear due to changes in the ObjectiveBank 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 ProficiencyLookupSession .

  • Method Details

    • getObjectiveBankId

      Id getObjectiveBankId()
      Gets the ObjectiveBank Id associated with this session.
      Returns:
      the ObjectiveBank Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getObjectiveBank

      Gets the ObjectiveBank associated with this session.
      Returns:
      the obective bank
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canRegisterForProficiencyNotifications

      boolean canRegisterForProficiencyNotifications()
      Tests if this user can register for Proficiency 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.
      Returns:
      false if notification methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedObjectiveBankView

      void useFederatedObjectiveBankView()
      Federates the view for methods in this session. A federated view will include proficiencies in objective banks which are children of this objective bank in the obective bank hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedObjectiveBankView

      void useIsolatedObjectiveBankView()
      Isolates the view for methods in this session. An isolated view restricts notifications to this objective bank only.
      Compliance:
      mandatory - This method is must be implemented.
    • reliableProficiencyNotifications

      void reliableProficiencyNotifications()
      Reliable notifications are desired. In reliable mode, notifications are to be acknowledged using acknowledgeProficiencyNotification() .
      Compliance:
      mandatory - This method is must be implemented.
    • unreliableProficiencyNotifications

      void unreliableProficiencyNotifications()
      Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.
      Compliance:
      mandatory - This method is must be implemented.
    • acknowledgeProficiencyNotification

      void acknowledgeProficiencyNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException
      Acknowledge a proficiency notification.
      Parameters:
      notificationId - the Id of the notification
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewProficiencies

      void registerForNewProficiencies() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new proficiencies. ProficiencyReceiver.newProficiencies() is invoked when a new Proficiency appears in this objective bank.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewProficienciesByGenusType

      void registerForNewProficienciesByGenusType(Type proficiencyGenusType) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new proficiencies with the given genus type. ProficiencyReceiver.newProficiencies() is invoked when a new Proficiency appears for the given resource in this objective bank.
      Parameters:
      proficiencyGenusType - the genus type of a proficiency to monitor
      Throws:
      NullArgumentException - proficiencyGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewProficienciesForObjective

      void registerForNewProficienciesForObjective(Id objectiveId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new proficiencies. ProficiencyReceiver.newProficiencies() is invoked when a new Proficiency appears for the given objective in this objective bank.
      Parameters:
      objectiveId - the Id of a resource to monitor
      Throws:
      NullArgumentException - objectiveId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewProficienciesForResource

      void registerForNewProficienciesForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new proficiencies. ProficiencyReceiver.newProficiencies() is invoked when a new Proficiency appears for the given resource in this objective bank.
      Parameters:
      resourceId - the Id of a resource to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProficiencies

      void registerForChangedProficiencies() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated proficiencies. ProficiencyReceiver.changedProficiencies() is invoked when a proficiency in this objective bank is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProficienciesByGenusType

      void registerForChangedProficienciesByGenusType(Type proficiencyGenusType) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated proficiencies of the given genus type. ProficiencyReceiver.changedProficiencies() is invoked when a proficiency in this objective bank is changed.
      Parameters:
      proficiencyGenusType - the genus type of the Proficiency to monitor
      Throws:
      NullArgumentException - proficiencyGenusTYpe is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProficienciesForObjective

      void registerForChangedProficienciesForObjective(Id objectiveId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated proficiency. ProficiencyReceiver.changedProficiencies() is invoked when the specified proficiency related to the given objective is changed in this objective bank.
      Parameters:
      objectiveId - the Id of the Objective to monitor
      Throws:
      NullArgumentException - objectiveId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProficienciesForResource

      void registerForChangedProficienciesForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated proficiency. ProficiencyReceiver.changedProficiencies() is invoked when the specified proficiency related to the given resource is changed in this objective bank.
      Parameters:
      resourceId - the Id of the Resource to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProficiency

      void registerForChangedProficiency(Id proficiencyId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated proficiency. ProficiencyReceiver.changedProficiencies() is invoked when the specified proficiency in this objective bank is changed.
      Parameters:
      proficiencyId - the Id of the Proficiency to monitor
      Throws:
      NullArgumentException - proficiencyId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedProficiencies

      void registerForDeletedProficiencies() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted proficiencies. ProficiencyReceiver.deletedProficiencies() is invoked when a proficiency is deleted or removed from this objective bank.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedProficienciesByGenusType

      void registerForDeletedProficienciesByGenusType(Type proficiencyGenusType) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted proficiencies of the given genus type. ProficiencyReceiver.deletedProficiencies() is invoked when a proficiency is deleted or removed from this objective bank.
      Parameters:
      proficiencyGenusType - the genus type of the Proficiency to monitor
      Throws:
      NullArgumentException - proficiencyGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedProficienciesForObjective

      void registerForDeletedProficienciesForObjective(Id objectiveId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted proficiency. ProficiencyReceiver.deletedProficiencies() is invoked when the specified proficiency related to the objective is deleted or removed from this objective bank.
      Parameters:
      objectiveId - the Id of the Objective to monitor
      Throws:
      NullArgumentException - objectiveId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedProficienciesForResource

      void registerForDeletedProficienciesForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted proficiency. ProficiencyReceiver.deletedProficiencies() is invoked when the specified proficiency related to the resource is deleted or removed from this objective bank.
      Parameters:
      resourceId - the Id of the Resource to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedProficiency

      void registerForDeletedProficiency(Id proficiencyId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted proficiency. ProficiencyReceiver.deletedProficiencies() is invoked when the specified proficiency is deleted or removed from this objective bank.
      Parameters:
      proficiencyId - the Id of the Proficiency to monitor
      Throws:
      NullArgumentException - proficiencyId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.