Interface TodoProducerNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface TodoProducerNotificationSession extends OsidSession

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

  • Method Details

    • getChecklistId

      Id getChecklistId()
      Gets the Checklist Id associated with this session.
      Returns:
      the Checklist Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getChecklist

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

      boolean canRegisterForTodoProducerNotifications()
      Tests if this user can register for TodoProducer 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.
    • useFederatedChecklistView

      void useFederatedChecklistView()
      Federates the view for methods in this session. A federated view will include producers in checklists which are children of this checklist in the checklist hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedChecklistView

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

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

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

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

      void registerForNewTodoProducers() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new todo producers. TodoProducerReceiver.newTodoProducers() is invoked when a new TodoProducer appears in this checklist.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedTodoProducers

      void registerForChangedTodoProducers() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated todo producers. TodoProducerReceiver.changedTodoProducers() is invoked when a todo producer in this checklist is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedTodoProducer

      void registerForChangedTodoProducer(Id todoProducerId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated todo producer. ProvisionableReceiver.changedTodoProducers() is invoked when the specified todo producer in this checklist is changed.
      Parameters:
      todoProducerId - the Id of the TodoProducer to monitor
      Throws:
      NullArgumentException - todoProducerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedTodoProducers

      void registerForDeletedTodoProducers() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted todo producers. TodoProducerReceiver.deletedTodoProducers() is invoked when a todo producer is deleted or removed from this checklist.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedTodoProducer

      void registerForDeletedTodoProducer(Id todoProducerId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted todo producer. TodoProducerReceiver.deletedTodoProducers() is invoked when the specified todo producer is deleted or removed from this checklist.
      Parameters:
      todoProducerId - the Id of the TodoProducer to monitor
      Throws:
      NullArgumentException - todoProducerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.