Interface OublietteNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface OublietteNotificationSession extends OsidSession

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

  • Method Details

    • canRegisterForOublietteNotifications

      boolean canRegisterForOublietteNotifications()
      Tests if this user can register for Oubliette 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.
    • reliableOublietteNotifications

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

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

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

      void registerForNewOubliettes() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new oubliettes. OublietteReceiver.newOubliettes() is invoked when a new Oubliette is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOubliettes

      void registerForChangedOubliettes() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated oubliettes. OublietteReceiver.changedOubliettes() is invoked when an oubliette is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOubliette

      void registerForChangedOubliette(Id oublietteId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Registers for notification of an updated oubliette. OublietteReceiver.changedOubliettes() is invoked when the specified oubliette is changed.
      Parameters:
      oublietteId - the Id of the Oubliette to monitor
      Throws:
      NotFoundException - an oubliette was not found identified by the given Id
      NullArgumentException - oublietteId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedOubliettes

      void registerForDeletedOubliettes() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deletedoOubliettes. OublietteReceiver.deletedOubliettes() is invoked when an oubliette is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedOubliette

      void registerForDeletedOubliette(Id oublietteId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted oubliette. OublietteReceiver.deletedOubliettes() is invoked when the specified oubliette is deleted.
      Parameters:
      oublietteId - the Id of the Oubliette to monitor
      Throws:
      NotFoundException - an oubliette was not found identified by the given Id
      NullArgumentException - oublietteId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOublietteHierarchy

      void registerForChangedOublietteHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated oubliette hierarchy structure. OublietteReceiver.changedChildOfOubliettes() is invoked when a node experiences a change in its children.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOublietteHierarchyForAncestors

      void registerForChangedOublietteHierarchyForAncestors(Id oublietteId) throws OperationFailedException, PermissionDeniedException
      Oubliette Receiver.changedChildOfOubliettes() is invoked when the specified node or any of its ancestors experiences a change in its children.
      Parameters:
      oublietteId - the Id of the Oubliette node to monitor
      Throws:
      NullArgumentException - oublietteId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOublietteHierarchyForDescendants

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