Interface AgencyNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AgencyNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Agency 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.

  • Method Details

    • canRegisterForAgencyNotifications

      boolean canRegisterForAgencyNotifications()
      Tests if this user can register for Agency 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.
    • reliableAgencyNotifications

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

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

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

      void registerForNewAgencies() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new agencies. AgencyReceiver.newAgencies() is invoked when a new Agency is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAgencies

      void registerForChangedAgencies() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated agencies. AgencyReceiver.changedAgencies() is invoked when an agency is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAgency

      void registerForChangedAgency(Id agencyId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated agency. AgencyReceiver.changedAgencies() is invoked when the specified agency is changed.
      Parameters:
      agencyId - the Id of the agency to monitor
      Throws:
      NullArgumentException - agencyId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedAgencies

      void registerForDeletedAgencies() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted agencies. AgencyReceiver.deletedAgencies() is invoked when an agency is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedAgency

      void registerForDeletedAgency(Id agencyId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted agency. AgencyReceiver.deletedAgencies() is invoked when the specified agency is deleted.
      Parameters:
      agencyId - the Id of the agency to monitor
      Throws:
      NullArgumentException - agencyId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAgencyHierarchy

      void registerForChangedAgencyHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated agency hierarchy structure. AgencyReceiver.changedChildOfAgencies() is invoked when a node experiences a change in its children.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAgencyHierarchyForAncestors

      void registerForChangedAgencyHierarchyForAncestors(Id agencyId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated agency hierarchy structure. AgencyReceiver.changedChildOfAgencies() is invoked when the specified node or any of its ancestors experiences a change in its children.
      Parameters:
      agencyId - the Id of the Agency node to monitor
      Throws:
      NullArgumentException - agencyId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAgencyHierarchyForDescendants

      void registerForChangedAgencyHierarchyForDescendants(Id agencyId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated agency hierarchy structure. AgencyReceiver.changedChildOfAgencies() is invoked when the specified node or any of its descendants experiences a change in its children.
      Parameters:
      agencyId - the Id of the Agency node to monitor
      Throws:
      NullArgumentException - agencyId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.