Interface CampusNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CampusNotificationSession extends OsidSession

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

Notifications are triggered with changes to the Campus object itself. Adding and removing rooms result in notifications available from the notification session for rooms.

  • Method Details

    • canRegisterForCampusNotifications

      boolean canRegisterForCampusNotifications()
      Tests if this user can register for Campus 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.
    • reliableCampusNotifications

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

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

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

      void registerForNewCampuses() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new campuses. CampusReceiver.newCampuses() is invoked when a new Campus is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCampuses

      void registerForChangedCampuses() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated campuses. CampusReceiver.changedCampus() is invoked when a campus is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCampus

      void registerForChangedCampus(Id campusId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated campus. CampusReceiver.changedCampuses() is invoked when the specified campus is changed.
      Parameters:
      campusId - the Id of the Campus to monitor
      Throws:
      NullArgumentException - campusId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCampuses

      void registerForDeletedCampuses() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted campuses. CampusReceiver.deletedCampuses() is invoked when a campus is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCampus

      void registerForDeletedCampus(Id campusId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted campus. CampusReceiver.deletedCampuses() is invoked when the specified campus is deleted.
      Parameters:
      campusId - the Id of the Campus to monitor
      Throws:
      NullArgumentException - campusId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCampusHierarchy

      void registerForChangedCampusHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated campus hierarchy structure. CampusReceiver.changedChildOfCampuses() 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.
    • registerForChangedCampusHierarchyForAncestors

      void registerForChangedCampusHierarchyForAncestors(Id campusId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated campus hierarchy structure. CampusReceiver.changedChildOfCampuses() is invoked when the specified node or any of its descendants experiences a change in its children.
      Parameters:
      campusId - the Id of the Campus node to monitor
      Throws:
      NullArgumentException - campusId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCampusHierarchyForDescendants

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