Interface PriceEnablerNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface PriceEnablerNotificationSession extends OsidSession

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

  • Method Details

    • getStoreId

      Id getStoreId()
      Gets the Store Id associated with this session.
      Returns:
      the Store Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getStore

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

      boolean canRegisterForPriceEnablerNotifications()
      Tests if this user can register for PriceEnabler 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.
    • useFederatedStoreView

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

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

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

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

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

      void registerForNewPriceEnablers() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new price enablers. PriceEnablerReceiver.newPriceEnablers() is invoked when a new PriceEnabler appears in this store.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedPriceEnablers

      void registerForChangedPriceEnablers() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated store enabelrs. PriceEnablerReceiver.changedPriceEnablers() is invoked when a price enabler in this store is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedPriceEnabler

      void registerForChangedPriceEnabler(Id priceEnablerId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated price enabler. ProvisionableReceiver.changedPriceEnablers() is invoked when the specified price enabler in this store is changed.
      Parameters:
      priceEnablerId - the Id of the PriceEnabler to monitor
      Throws:
      NullArgumentException - priceEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedPriceEnablers

      void registerForDeletedPriceEnablers() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted price enablers. PriceEnablerReceiver.deletedPriceEnablers() is invoked when a price enabler is deleted or removed from this store.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedPriceEnabler

      void registerForDeletedPriceEnabler(Id priceEnablerId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted price enabler. PriceEnablerReceiver.deletedPriceEnablers() is invoked when the specified price enabler is deleted or removed from this store.
      Parameters:
      priceEnablerId - the Id of the PriceEnabler to monitor
      Throws:
      NullArgumentException - priceEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.