Interface IdiomNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface IdiomNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Idioms in this Press . This also includes existing idioms 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 IdiomLookupSession .

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

      boolean canRegisterForIdiomNotifications()
      Tests if this user can register for Idiom 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 idioms 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.
    • reliableIdionNotifications

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

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

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

      void registerForNewIdioms() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new idioms. IdiomReceiver.newIdiom() is invoked when a new Idiom appears in this press.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewIdiomsForText

      void registerForNewIdiomsForText(Id textId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new idioms for the given text Id . IdiomReceiver.newIdiom() is invoked when a new Idiom is created.
      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.
    • registerForChangedIdioms

      void registerForChangedIdioms() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated idioms. IdiomReceiver.changedIdiom() is invoked when an idiom in this press is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedIdiomsForText

      void registerForChangedIdiomsForText(Id textId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated idioms for the given text Id . IdiomReceiver.changedIdiom() is invoked when an idiom 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.
    • registerForChangedIdiom

      void registerForChangedIdiom(Id idiomId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated idiom. IdiomReceiver.changedIdiom() is invoked when the specified idiom in this press is changed.
      Parameters:
      idiomId - the Id of the Idiom to monitor
      Throws:
      NullArgumentException - idiomId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedIdioms

      void registerForDeletedIdioms() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted idioms. IdiomReceiver.deletedIdiom() is invoked when an idiom is deleted or removed from this press.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedIdiomsForText

      void registerForDeletedIdiomsForText(Id textId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted idioms for the given text Id . IdiomReceiver.deletedIdiom() is invoked when an idiom in this press is removed or deleted.
      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.
    • registerForDeletedIdiom

      void registerForDeletedIdiom(Id idiomId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted idiom. IdiomReceiver.deletedIdiom() is invoked when the specified idiom is deleted or removed from this press.
      Parameters:
      idiomId - the Id of the Idiom to monitor
      Throws:
      NullArgumentException - idiomId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.