Interface LeaseNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface LeaseNotificationSession extends OsidSession

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

      boolean canRegisterForLeaseNotifications()
      Tests if this user can register for Lease 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 leases 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.
    • reliableLeaseNotifications

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

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

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

      void registerForNewLeases() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new leases. LeaseReceiver.newLeases() is invoked when a new Lease is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewLeasesForRoom

      void registerForNewLeasesForRoom(Id roomId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new leases for the given room Id . LeaseReceiver.newLeases() is invoked when a new Lease 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.
    • registerForNewLeasesForTenant

      void registerForNewLeasesForTenant(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new leases for the given resource Id . LeaseReceiver.newLeases() is invoked when a new Lease is created.
      Parameters:
      resourceId - the Id of the resource to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedLeases

      void registerForChangedLeases() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated leases. LeaseReceiver.changedLeases() is invoked when a lease is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedLeasesForRoom

      void registerForChangedLeasesForRoom(Id roomId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of changed leases for the given room Id . LeaseReceiver.changedLeases() is invoked when a Lease 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.
    • registerForChangedLeasesForTenant

      void registerForChangedLeasesForTenant(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of changed leases for the given resource Id . LeaseReceiver.changedLeases() is invoked when a Lease for the tenant is changed.
      Parameters:
      resourceId - the Id of the resource to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedLease

      void registerForChangedLease(Id leaseId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated lease. LeaseReceiver.changedLeases() is invoked when the specified lease is changed.
      Parameters:
      leaseId - the Id of the Lease to monitor
      Throws:
      NullArgumentException - leaseId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedLeases

      void registerForDeletedLeases() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted leases. LeaseReceiver.deletedLeases() is invoked when a lease is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedLeasesForRoom

      void registerForDeletedLeasesForRoom(Id roomId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of changed leases for the given room Id . LeaseReceiver.deletedLeases() is invoked when a Lease 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.
    • registerForDeletedLeasesForTenant

      void registerForDeletedLeasesForTenant(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of changed leases for the given resource Id . LeaseReceiver.deletedLeases() is invoked when a Lease for the tenant is deleted.
      Parameters:
      resourceId - the Id of the resource to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedLease

      void registerForDeletedLease(Id leaseId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted lease. LeaseReceiver.deletedLeases() is invoked when the specified lease is deleted.
      Parameters:
      leaseId - the Id of the Lease to monitor
      Throws:
      NullArgumentException - leaseId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.