Interface StepConstrainerNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface StepConstrainerNotificationSession extends OsidSession

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

  • Method Details

    • getOfficeId

      Id getOfficeId()
      Gets the Office Id associated with this session.
      Returns:
      the Office Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getOffice

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

      boolean canRegisterForStepConstrainerNotifications()
      Tests if this user can register for StepConstrainer 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.
    • useFederatedOfficeView

      void useFederatedOfficeView()
      Federates the view for methods in this session. A federated view will include in offices which are children of this office in the office hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedOfficeView

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

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

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

      void acknowledgeStepConstrainerNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException
      Acknowledge a step 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.
    • registerForNewStepConstrainers

      void registerForNewStepConstrainers() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new step constrainers. StepConstrainerReceiver.newStepConstrainers() is invoked when a new StepConstrainer appears in this office.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedStepConstrainers

      void registerForChangedStepConstrainers() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated office. StepConstrainerReceiver.changedStepConstrainers() is invoked when a step constrainer in this office is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedStepConstrainer

      void registerForChangedStepConstrainer(Id stepConstrainerId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated step constrainer. ProvisionableReceiver.changedStepConstrainers() is invoked when the specified step constrainer in this office is changed.
      Parameters:
      stepConstrainerId - the Id of the StepConstrainer to monitor
      Throws:
      NullArgumentException - stepConstrainerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedStepConstrainers

      void registerForDeletedStepConstrainers() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted step constrainers. StepConstrainerReceiver.deletedStepConstrainers() is invoked when a step constrainer is deleted or removed from this office.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedStepConstrainer

      void registerForDeletedStepConstrainer(Id stepConstrainerId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted step constrainer. StepConstrainerReceiver.deletedStepConstrainers() is invoked when the specified step constrainer is deleted or removed from this office.
      Parameters:
      stepConstrainerId - the Id of the StepConstrainer to monitor
      Throws:
      NullArgumentException - stepConstrainerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.