Interface FloorNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface FloorNotificationSession extends OsidSession

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

      boolean canRegisterForFloorNotifications()
      Tests if this user can register for Floor 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 floors 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.
    • reliableFloorNotifications

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

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

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

      void registerForNewFloors() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new floors. FloorReceiver.newFloors() is invoked when a new Floor is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewFloorsForBuilding

      void registerForNewFloorsForBuilding(Id buildingId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new floors for the given floor Id . FloorReceiver.newFloors() is invoked when a new Floor is created.
      Parameters:
      buildingId - the Id of the building to monitor
      Throws:
      NullArgumentException - buildingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedFloors

      void registerForChangedFloors() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated floors. FloorReceiver.changedFloors() is invoked when a floor is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedFloorsForBuilding

      void registerForChangedFloorsForBuilding(Id buildingId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of changed floors for the given building Id . FloorReceiver.changedFloors() is invoked when a Floor for the building is changed.
      Parameters:
      buildingId - the Id of the building to monitor
      Throws:
      NullArgumentException - buildingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedFloor

      void registerForChangedFloor(Id floorId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated floor. FloorReceiver.changedFloors() is invoked when the specified floor is changed.
      Parameters:
      floorId - the Id of the Floor to monitor
      Throws:
      NullArgumentException - floorId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedFloors

      void registerForDeletedFloors() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted floors. FloorReceiver.deletedFloors() is invoked when a floor is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedFloorsForBuilding

      void registerForDeletedFloorsForBuilding(Id buildingId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of changed floors for the given building Id . FloorReceiver.deletedFloors() is invoked when a Floor for the building is deleted.
      Parameters:
      buildingId - the Id of the building to monitor
      Throws:
      NullArgumentException - buildingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedFloor

      void registerForDeletedFloor(Id floorId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted floor. FloorReceiver.deletedFloors() is invoked when the specified floor is deleted.
      Parameters:
      floorId - the Id of the Floor to monitor
      Throws:
      NullArgumentException - floorId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.