Interface DeedNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface DeedNotificationSession extends OsidSession

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

      boolean canRegisterForDeedNotifications()
      Tests if this user can register for Deed 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 deeds 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.
    • reliableDeedNotifications

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

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

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

      void registerForNewDeeds() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new deeds. DeedReceiver.newDeeds() is invoked when a new Deed is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewDeedsForBuilding

      void registerForNewDeedsForBuilding(Id buildingId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of new deeds for a building. DeedReceiver.newDeeds() is invoked when a deed for the building 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.
    • registerForNewDeedsForOwner

      void registerForNewDeedsForOwner(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of new deeds for an owner. DeedReceiver.NewDeeds() is invoked when a deed for the owner 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.
    • registerForChangedDeeds

      void registerForChangedDeeds() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated deeds. DeedReceiver.changedDeeds() is invoked when a deed is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedDeedsForBuilding

      void registerForChangedDeedsForBuilding(Id buildingId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a updated deedsfor a building. DeedReceiver.changedDeeds() is invoked when a deed 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.
    • registerForChangedDeedsForOwner

      void registerForChangedDeedsForOwner(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated deeds for an owner. DeedReceiver.changedDeeds() is invoked when a deed for the owner 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.
    • registerForChangedDeed

      void registerForChangedDeed(Id deedId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated deed. DeedReceiver.changedDeeds() is invoked when the specified deed is changed.
      Parameters:
      deedId - the Id of the Deed to monitor
      Throws:
      NullArgumentException - deedId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedDeeds

      void registerForDeletedDeeds() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted deeds. DeedReceiver.deletedDeeds() is invoked when a deed is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedDeedsForBuilding

      void registerForDeletedDeedsForBuilding(Id buildingId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted deed for a building. DeedReceiver.deletedDeeds() is invoked when a deed 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.
    • registerForDeletedDeedsForOwner

      void registerForDeletedDeedsForOwner(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted deed for an owner. DeedReceiver.deletedDeeds() is invoked when a deed for the owner 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.
    • registerForDeletedDeed

      void registerForDeletedDeed(Id deedId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted deed. DeedReceiver.deletedDeeds() is invoked when the specified deed is deleted.
      Parameters:
      deedId - the Id of the Deed to monitor
      Throws:
      NullArgumentException - deedId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.