Interface CommissionNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CommissionNotificationSession extends OsidSession

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

  • Method Details

    • getFoundryId

      Id getFoundryId()
      Gets the Foundry Id associated with this session.
      Returns:
      the Foundry Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getFoundry

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

      boolean canRegisterForCommissionNotifications()
      Tests if this user can register for Commission 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.
    • useFederatedFoundryView

      void useFederatedFoundryView()
      Federates the view for methods in this session. A federated view will include commissions in foundries which are children of this foundry in the foundry hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedFoundryView

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

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

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

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

      void registerForNewCommissions() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new commissions. CommissionReceiver.newCommissions() is invoked when a new Commission appears in this foundry.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewCommissionsForResource

      void registerForNewCommissionsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new commissions for the given resource Id . CommissionReceiver.newCommissions() is invoked when a new Commission 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.
    • registerForNewCommissionsForWork

      void registerForNewCommissionsForWork(Id workId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new commissions for the given work Id . CommissionReceiver.newCommissions() is invoked when a new Commission is created.
      Parameters:
      workId - the Id of the work to monitor
      Throws:
      NullArgumentException - workId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCommissions

      void registerForChangedCommissions() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated commissions. CommissionReceiver.changedCommissions() is invoked when a commission in this foundry is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCommissionsForResource

      void registerForChangedCommissionsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated commissions for the given resource Id . CommissionReceiver.changedCommissions() is invoked when a Commission in this foundry 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.
    • registerForChangedCommissionsForWork

      void registerForChangedCommissionsForWork(Id workId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated commissions for the given work Id . CommissionReceiver.changedCommissions() is invoked when a Commission in this foundry is changed.
      Parameters:
      workId - the Id of the work to monitor
      Throws:
      NullArgumentException - workId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCommission

      void registerForChangedCommission(Id commissionId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated commission. CommissionReceiver.changedCommissions() is invoked when the specified commission in this foundry is changed.
      Parameters:
      commissionId - the Id of the Commission to monitor
      Throws:
      NullArgumentException - commissionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCommissions

      void registerForDeletedCommissions() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted commissions. CommissionReceiver.deletedCommissions() is invoked when a commission is deleted or removed from this foundry.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCommissionsForResource

      void registerForDeletedCommissionsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted commissions for the given resource Id . CommissionReceiver.deletedCommissions() is invoked when a Commission is deleted or removed from this foundry.
      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.
    • registerForDeletedCommissionsForWork

      void registerForDeletedCommissionsForWork(Id workId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted commissions for the given work Id . CommissionReceiver.deletedCommissions() is invoked when a Commission is deleted or removed from this foundry.
      Parameters:
      workId - the Id of the work to monitor
      Throws:
      NullArgumentException - workId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCommission

      void registerForDeletedCommission(Id commissionId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted commission. CommissionReceiver.deletedCommissions() is invoked when the specified commission is deleted or removed from this foundry.
      Parameters:
      commissionId - the Id of the Commission to monitor
      Throws:
      NullArgumentException - commissionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.