Interface AddressBookNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AddressBookNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to AddressBooks . 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.

Notifications are triggered with changes to the AddressBook object itself. Adding and removing contacts result in notifications available from the notification session for contacts.

  • Method Details

    • canRegisterForAddressBookNotifications

      boolean canRegisterForAddressBookNotifications()
      Tests if this user can register for AddressBook 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.
    • reliableAddressBookNotifications

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

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

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

      void registerForNewAddressBooks() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new address books. AddressBookReceiver.newAddressBooks() is invoked when a new AddressBook is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAddressBooks

      void registerForChangedAddressBooks() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated address books. AddressBookReceiver.changedAddressBooks() is invoked when an address book is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAddressBook

      void registerForChangedAddressBook(Id addressBookId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated address book. AddressBookReceiver.changedAddressBooks() is invoked when the specified address book is changed.
      Parameters:
      addressBookId - the Id of the AddressBook to monitor
      Throws:
      NullArgumentException - addressBookId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedAddressBooks

      void registerForDeletedAddressBooks() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted address books. AddressBookReceiver.deletedAddressBooks() is invoked when an address book is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedAddressBook

      void registerForDeletedAddressBook(Id addressBookId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted address book. AddressBookReceiver.deletedAddressBooks() is invoked when the specified address book is deleted.
      Parameters:
      addressBookId - the Id of the AddressBook to monitor
      Throws:
      NullArgumentException - addressBookId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAddressBookHierarchy

      void registerForChangedAddressBookHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated address book hierarchy structure. AddressBookReceiver.changedChildOfAddressBooks() is invoked when a node experiences a change in its children.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAddressBookHierarchyForAncestors

      void registerForChangedAddressBookHierarchyForAncestors(Id addressBookId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated address book hierarchy structure. AddressBookReceiver.changedChildOfAddressBooks() is invoked when the specified node or any of its ancestors experiences a change in its children.
      Parameters:
      addressBookId - the Id of the AddressBook node to monitor
      Throws:
      NullArgumentException - addressBookId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAddressBookHierarchyForDescendants

      void registerForChangedAddressBookHierarchyForDescendants(Id addressBookId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated address book hierarchy structure. AddressBookReceiver.changedChildOfAddressBooks() is invoked when the specified node or any of its descendants experiences a change in its children.
      Parameters:
      addressBookId - the Id of the AddressBook node to monitor
      Throws:
      NullArgumentException - addressBookId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.