Interface RenovationNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface RenovationNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Renovations . 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 Renovation object itself. Adding and removing rooms result in notifications available from the notification session for rooms.

  • Method Details

    • getCampusId

      Id getCampusId()
      Gets the Campus Id associated with this session.
      Returns:
      the Campus Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getCampus

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

      boolean canRegisterForRenovationNotifications()
      Tests if this user can register for Renovation 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.
    • useFederatedCampusView

      void useFederatedCampusView()
      Federates the view for methods in this session. A federated view will include renovations in campuses which are children of this campus in the campus hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedCampusView

      void useIsolatedCampusView()
      Isolates the view for methods in this session. An isolated view restricts retrievals to this campus only.
      Compliance:
      mandatory - This method is must be implemented.
    • reliableRenovationNotifications

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

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

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

      void registerForNewRenovations() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new renovations. RenovationReceiver.newRenovations() is invoked when a new Renovation is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewRenovationsByRoom

      void registerForNewRenovationsByRoom(Id roomId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new renovations for the given room Id . RenovationReceiver.newRenovations() is invoked when a new Renovation is created.
      Parameters:
      roomId - the Id of the room to monitor
      Throws:
      NullArgumentException - roomId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedRenovations

      void registerForChangedRenovations() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated renovations. RenovationReceiver.changedRenovations() is invoked when a renovation is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedRenovationsByRoom

      void registerForChangedRenovationsByRoom(Id roomId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of changed renovations for the given room Id . RenovationReceiver.changedRenovations() is invoked when a Renovation for the room is changed.
      Parameters:
      roomId - the Id of the room to monitor
      Throws:
      NullArgumentException - roomId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedRenovation

      void registerForChangedRenovation(Id renovationId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated renovation. RenovationReceiver.changedRenovations() is invoked when the specified renovation is changed.
      Parameters:
      renovationId - the Id of the Renovation to monitor
      Throws:
      NullArgumentException - renovationId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedRenovations

      void registerForDeletedRenovations() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted renovations. RenovationReceiver.deletedRenovations() is invoked when a renovation is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedRenovationsByRoom

      void registerForDeletedRenovationsByRoom(Id roomId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of changed renovations for the given room Id . RenovationReceiver.deletedRenovations() is invoked when a Renovation for the room is deleted.
      Parameters:
      roomId - the Id of the room to monitor
      Throws:
      NullArgumentException - roomId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedRenovation

      void registerForDeletedRenovation(Id renovationId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted renovation. RenovationReceiver.deletedRenovations() is invoked when the specified renovation is deleted.
      Parameters:
      renovationId - the Id of the Renovation to monitor
      Throws:
      NullArgumentException - renovationId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.