Interface CompetencyNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CompetencyNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Competency objects in this Foundry . This also includes existing competencies that may appear or disappear due to changes in the Foundry 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 CompetencyLookupSession .

  • Method Details

    • getFoundryId

      Id getFoundryId()
      Gets the Foundry Id associated with this session.
      Returns:
      the Foundry Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getFoundry

      Gets the Foundry associated with this session.
      Returns:
      the foundry
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canRegisterForCompetencyNotifications

      boolean canRegisterForCompetencyNotifications()
      Tests if this user can register for Competency 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.
    • useFederatedFoundryView

      void useFederatedFoundryView()
      Federates the view for methods in this session. A federated view will include competencies in foundries which are children of this foundry in the foundry hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedFoundryView

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

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

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

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

      void registerForNewCompetencies() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new competencies. CompetencyReceiver.newCompetencies() is invoked when a new Competency appears in this foundry.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCompetencies

      void registerForChangedCompetencies() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated competencies. CompetencyReceiver.changedCompetencies() is invoked when a competency in this foundry is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCompetency

      void registerForChangedCompetency(Id competencyId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated competency. AvailabilityReceiver.changedCompetencies() is invoked when the specified competency in this foundry is changed.
      Parameters:
      competencyId - the Id of the Competency to monitor
      Throws:
      NullArgumentException - competencyId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCompetencies

      void registerForDeletedCompetencies() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted competencies. CompetencyReceiver.deletedCompetencies() is invoked when a competency is deleted or removed from this foundry.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCompetency

      void registerForDeletedCompetency(Id competencyId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted competency. CompetencyReceiver.deletedCompetencies() is invoked when the specified competency is deleted or removed from this foundry.
      Parameters:
      competencyId - the Id of the Competency to monitor
      Throws:
      NullArgumentException - competencyId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.