Interface AddressNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AddressNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Addresses . 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 Address object itself. Adding and removing contacts result in notifications available from the notification session for contacts.

  • Method Details

    • getAddressBookId

      Id getAddressBookId()
      Gets the AddressBook Id associated with this session.
      Returns:
      the AddressBook Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getAddressBook

      Gets the AddressBook associated with this session.
      Returns:
      the address book
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canRegisterForAddressNotifications

      boolean canRegisterForAddressNotifications()
      Tests if this user can register for Address 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.
    • useFederatedAddressBookView

      void useFederatedAddressBookView()
      Federates the view for methods in this session. A federated view will include addresses in address books which are children of this address book in the address book hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedAddressBookView

      void useIsolatedAddressBookView()
      Isolates the view for methods in this session. An isolated view restricts retrievals to this address book only.
      Compliance:
      mandatory - This method is must be implemented.
    • reliableAddressNotifications

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

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

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

      void registerForNewAddresses() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new addresses. AddressReceiver.newAddresses() is invoked when a new Address is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAddresses

      void registerForChangedAddresses() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated addresses. AddressReceiver.changedAddresses() is invoked when an address is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAddress

      void registerForChangedAddress(Id addressId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated address. AddressReceiver.changedAddresses() is invoked when the specified address is changed.
      Parameters:
      addressId - the Id of the Address to monitor
      Throws:
      NullArgumentException - addressId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedAddresses

      void registerForDeletedAddresses() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted addresses. AddressReceiver.deletedAddresses() is invoked when an address is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedAddress

      void registerForDeletedAddress(Id addressId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted address. AddressReceiver.deletedAddresses() is invoked when the specified address is deleted.
      Parameters:
      addressId - the Id of the Address to monitor
      Throws:
      NullArgumentException - addressId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.