Interface SubscriptionEnablerNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface SubscriptionEnablerNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to SubscriptionEnabler objects in this Subscription . This also includes existing SubscriptionEnablers that may appear or disappear due to changes in the Subscription 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 SubscriptionEnablerLookupSession .

  • Method Details

    • getPublisherId

      Id getPublisherId()
      Gets the Publisher Id associated with this session.
      Returns:
      the Publisher Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getPublisher

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

      boolean canRegisterForSubscriptionEnablerNotifications()
      Tests if this user can register for SubscriptionEnabler 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.
    • useFederatedPublisherView

      void useFederatedPublisherView()
      Federates the view for methods in this session. A federated view will include subscription enablers in publishers which are children of this publisher in the publisher hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedPublisherView

      void useIsolatedPublisherView()
      Isolates the view for methods in this session. An isolated view restricts lookups to this publisher only.
      Compliance:
      mandatory - This method is must be implemented.
    • reliableSubscriptionEnablerNotifications

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

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

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

      void registerForNewSubscriptionEnablers() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new subscription enablers. SubscriptionEnablerReceiver.newSubscriptionEnablers() is invoked when a new SubscriptionEnabler appears in this publisher.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedSubscriptionEnablers

      void registerForChangedSubscriptionEnablers() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated subscription enabelrs. SubscriptionEnablerReceiver.changedSubscriptionEnablers() is invoked when a subscription enabler in this publisher is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedSubscriptionEnabler

      void registerForChangedSubscriptionEnabler(Id subscriptionEnablerId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated subscription enabler. ProvisionableReceiver.changedSubscriptionEnablers() is invoked when the specified subscription enabler in this publisher is changed.
      Parameters:
      subscriptionEnablerId - the Id of the SubscriptionEnabler to monitor
      Throws:
      NullArgumentException - subscriptionEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedSubscriptionEnablers

      void registerForDeletedSubscriptionEnablers() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted subscription enablers. SubscriptionEnablerReceiver.deletedSubscriptionEnablers() is invoked when a subscription enabler is deleted or removed from this publisher.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedSubscriptionEnabler

      void registerForDeletedSubscriptionEnabler(Id subscriptionEnablerId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted subscription enabler. SubscriptionEnablerReceiver.deletedSubscriptionEnablers() is invoked when the specified subscription enabler is deleted or removed from this publisher.
      Parameters:
      subscriptionEnablerId - the Id of the SubscriptionEnabler to monitor
      Throws:
      NullArgumentException - subscriptionEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.