Interface TextNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface TextNotificationSession extends OsidSession

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

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

      boolean canRegisterForTextNotifications()
      Tests if this user can register for Text 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 texts 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.
    • reliableTextNotifications

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

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

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

      void registerForNewTexts() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new texts. TextReceiver.newText() is invoked when a new Text appears in this press.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedTexts

      void registerForChangedTexts() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated texts. TextReceiver.changedText() is invoked when a text in this press is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedText

      void registerForChangedText(Id textId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated text. TextReceiver.changedText() is invoked when the specified text 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.
    • registerForDeletedTexts

      void registerForDeletedTexts() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted texts. TextReceiver.deletedText() is invoked when a text is deleted or removed from this press.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedText

      void registerForDeletedText(Id textId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted text. TextReceiver.deletedText() is invoked when the specified text 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.