Interface CatalogEnablerNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CatalogEnablerNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to CatalogEnabler objects in this Catalog . This also includes existing CatalogEnablers that may appear or disappear due to changes in the Catalog hierarchy, 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.

The two views defined in this session correspond to the views in the CatalogEnablerLookupSession .

  • Method Details

    • getCatalogId

      Id getCatalogId()
      Gets the Catalog Id associated with this session.
      Returns:
      the Catalog Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getCatalog

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

      boolean canRegisterForCatalogEnablerNotifications()
      Tests if this user can register for CatalogEnabler 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.
    • useFederatedCatalogView

      void useFederatedCatalogView()
      Federates the view for methods in this session. A federated view will include enablers in catalogs which are children of this catalog in the catalog hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedCatalogView

      void useIsolatedCatalogView()
      Isolates the view for methods in this session. An isolated view restricts notifications to this catalog only.
      Compliance:
      mandatory - This method is must be implemented.
    • reliableCatalogEnablerNotifications

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

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

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

      void registerForNewCatalogEnablers() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new catalog enablers. CatalogEnablerReceiver.newCatalogEnabler() is invoked when a new CatalogEnabler appears in this catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCatalogEnablers

      void registerForChangedCatalogEnablers() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated catalog enablers. CatalogEnablerReceiver.changedCatalogEnabler() is invoked when a catalog enabler in this catalog is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCatalogEnabler

      void registerForChangedCatalogEnabler(Id catalogEnablerId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated catalog enabler. ProvisionableReceiver.changedCatalogEnabler() is invoked when the specified catalog enabler in this catalog is changed.
      Parameters:
      catalogEnablerId - the Id of the CatalogEnabler to monitor
      Throws:
      NullArgumentException - catalogEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCatalogEnablers

      void registerForDeletedCatalogEnablers() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted catalog enablers. CatalogEnablerReceiver.deletedCatalogEnabler() is invoked when a catalog enabler is deleted or removed from this catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCatalogEnabler

      void registerForDeletedCatalogEnabler(Id catalogEnablerId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted catalog enabler. CatalogEnablerReceiver.deletedCatalogEnabler() is invoked when the specified catalog enabler is deleted or removed from this catalog.
      Parameters:
      catalogEnablerId - the Id of the CatalogEnabler to monitor
      Throws:
      NullArgumentException - catalogEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.