Interface ParameterNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ParameterNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Parameters in this Press . This also includes existing parameters that may appear or disappear due to changes in the Press 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 ParameterLookupSession .

  • Method Details

    • getPressId

      Id getPressId()
      Gets the Press Id associated with this session.
      Returns:
      the Press Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getPress

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

      boolean canRegisterForParameterNotifications()
      Tests if this user can register for Parameter 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 press 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.
    • useFederatedPressView

      void useFederatedPressView()
      Federates the view for methods in this session. A federated view will include parameters in presses which are children of this press in the press hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedPressView

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

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

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

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

      void registerForNewParameters() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new parameters. ParameterReceiver.newParameter() is invoked when a new Parameter appears in this press.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewParametersForText

      void registerForNewParametersForText(Id textId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new parameters for the given text. ParameterReceiver.newParameter() is invoked when a new Parameter appears in this press.
      Parameters:
      textId - the Id of the text to monitor
      Throws:
      NullArgumentException - textId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedParameters

      void registerForChangedParameters() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated parameters. ParameterReceiver.changedParameter() is invoked when a parameter in this press is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedParametersForText

      void registerForChangedParametersForText(Id textId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated parameters for the given text. ParameterReceiver.changedParameter() is invoked when a Parameter in this press is changed.
      Parameters:
      textId - the Id of the text to monitor
      Throws:
      NullArgumentException - textId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedParameter

      void registerForChangedParameter(Id parameterId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated parameter. AffiliationReceiver.changedParameter() is invoked when the specified parameter in this press is changed.
      Parameters:
      parameterId - the Id of the Parameter to monitor
      Throws:
      NullArgumentException - parameterId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedParameters

      void registerForDeletedParameters() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted parameters. ParameterReceiver.deletedParameter() is invoked when a parameter is deleted or removed from this press.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedParametersForText

      void registerForDeletedParametersForText(Id textId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted parameters for the given text. ParameterReceiver.deletedParameter() is invoked when a Parameter is deleted or removed from this press.
      Parameters:
      textId - the Id of the text to monitor
      Throws:
      NullArgumentException - textId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedParameter

      void registerForDeletedParameter(Id parameterId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted parameter. ParameterReceiver.deletedParameter() is invoked when the specified parameter is deleted or removed from this press.
      Parameters:
      parameterId - the Id of the Parameter to monitor
      Throws:
      NullArgumentException - parameterId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.