Interface OfficeNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface OfficeNotificationSession extends OsidSession

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

    • canRegisterForOfficeNotifications

      boolean canRegisterForOfficeNotifications()
      Tests if this user can register for Office 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.
    • reliableOfficeNotifications

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

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

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

      void registerForNewOffices() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new offices. OfficeReceiver.newOffices() is invoked when a new Office is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOffices

      void registerForChangedOffices() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated offices. OfficeReceiver.changedOffices() is invoked when an office is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOffice

      void registerForChangedOffice(Id officeId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated office. OfficeReceiver.changedOffices() is invoked when the specified office is changed.
      Parameters:
      officeId - the Id of the Office to monitor
      Throws:
      NullArgumentException - officeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedOffices

      void registerForDeletedOffices() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted offices. OfficeReceiver.deletedOffices() is invoked when an office is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedOffice

      void registerForDeletedOffice(Id officeId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted office. OfficeReceiver.deletedOffices() is invoked when the specified office is deleted.
      Parameters:
      officeId - the Id of the Office to monitor
      Throws:
      NullArgumentException - officeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOfficeHierarchy

      void registerForChangedOfficeHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated office hierarchy structure. OfficeReceiver.changedChildOfOffices() 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.
    • registerForChangedOfficeHierarchyForAncestors

      void registerForChangedOfficeHierarchyForAncestors(Id officeId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated office hierarchy structure. OfficeReceiver.changedChildOfOffices() is invoked when a node experiences a change in its children.
      Parameters:
      officeId - the Id of the Office node to monitor
      Throws:
      NullArgumentException - officeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOfficeHierarchyForDescendants

      void registerForChangedOfficeHierarchyForDescendants(Id officeId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated office hierarchy structure. OfficeReceiver.changedChildOfOffices() is invoked when a node experiences a change in its children.
      Parameters:
      officeId - the Id of the Office node to monitor
      Throws:
      NullArgumentException - officeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.