Interface JobConstrainerNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface JobConstrainerNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to JobConstrainer objects in this Foundry . This also includes existing JobConstrainers 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 JobConstrainerLookupSession .

  • 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.
    • canRegisterForJobConstrainerNotifications

      boolean canRegisterForJobConstrainerNotifications()
      Tests if this user can register for JobConstrainer 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 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.
    • reliableJobConstrainerNotifications

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

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

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

      void registerForNewJobConstrainers() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new job constrainers. JobConstrainerReceiver.newJobConstrainers() is invoked when a new JobConstrainer appears in this foundry.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedJobConstrainers

      void registerForChangedJobConstrainers() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated foundries. JobConstrainerReceiver.changedJobConstrainers() is invoked when a job constrainer in this foundry is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedJobConstrainer

      void registerForChangedJobConstrainer(Id jobConstrainerId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated job constrainer. ProvisionableReceiver.changedJobConstrainers() is invoked when the specified job constrainer in this foundry is changed.
      Parameters:
      jobConstrainerId - the Id of the JobConstrainer to monitor
      Throws:
      NullArgumentException - jobConstrainerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedJobConstrainers

      void registerForDeletedJobConstrainers() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted job constrainers. JobConstrainerReceiver.deletedJobConstrainers() is invoked when a job constrainer is deleted or removed from this foundry.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedJobConstrainer

      void registerForDeletedJobConstrainer(Id jobConstrainerId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted job constrainer. JobConstrainerReceiver.deletedJobConstrainers() is invoked when the specified job constrainer is deleted or removed from this foundry.
      Parameters:
      jobConstrainerId - the Id of the JobConstrainer to monitor
      Throws:
      NullArgumentException - jobConstrainerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.