Interface FrontOfficeNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface FrontOfficeNotificationSession extends OsidSession

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

    • canRegisterForFrontOfficeNotifications

      boolean canRegisterForFrontOfficeNotifications()
      Tests if this user can register for FrontOffice 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.
    • reliableFrontOfficeNotifications

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

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

      void acknowledgeFrontOfficeNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException
      Acknowledge a front 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.
    • registerForNewFrontOffices

      void registerForNewFrontOffices() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new frontOffices. FrontOfficeReceiver.newFrontOffices() is invoked when a new FrontOffice is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedFrontOffices

      void registerForChangedFrontOffices() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated frontOffices. FrontOfficeReceiver.changedFrontOffices() is invoked when a front office is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedFrontOffice

      void registerForChangedFrontOffice(Id frontOfficeId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated front office. FrontOfficeReceiver.changedFrontOffices() is invoked when the specified front office is changed.
      Parameters:
      frontOfficeId - the Id of the FrontOffice to monitor
      Throws:
      NullArgumentException - frontOfficeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedFrontOffices

      void registerForDeletedFrontOffices() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted frontOffices. FrontOfficeReceiver.deletedFrontOffices() is invoked when a front office is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedFrontOffice

      void registerForDeletedFrontOffice(Id frontOfficeId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted front office. FrontOfficeReceiver.deletedFrontOffices() is invoked when the specified front office is deleted.
      Parameters:
      frontOfficeId - the Id of the FrontOffice to monitor
      Throws:
      NullArgumentException - frontOfficeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedFrontOfficeHierarchy

      void registerForChangedFrontOfficeHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated front office hierarchy structure. FrontOfficeReceiver.changedChildOfFrontOffices() is invoked when the specified node or any of its descendants experiences a change in its children.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedFrontOfficeHierarchyForAncestors

      void registerForChangedFrontOfficeHierarchyForAncestors(Id frontOfficeId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated front office hierarchy structure. FrontOfficeReceiver.changedChildOfFrontOffices() is invoked when the specified node or any of its descendants experiences a change in its children.
      Parameters:
      frontOfficeId - the Id of the FrontOffice node to monitor
      Throws:
      NullArgumentException - frontOfficeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedFrontOfficeHierarchyForDescendants

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