Interface ProfileNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ProfileNotificationSession extends OsidSession

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

  • Method Details

    • canRegisterForProfileNotifications

      boolean canRegisterForProfileNotifications()
      Tests if this user can register for Profile 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.
    • reliableProfileNotifications

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

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

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

      void registerForNewProfiles() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new profiles. ProfileReceiver.newProfiles() is invoked when a new Profile is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProfiles

      void registerForChangedProfiles() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated profiles. ProfileReceiver.changedProfiles() is invoked when a profile is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProfile

      void registerForChangedProfile(Id profileId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated profile. ProfileReceiver.changedProfiles() is invoked when the specified profile is changed.
      Parameters:
      profileId - the Id of the profile to monitor
      Throws:
      NullArgumentException - profileId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedProfiles

      void registerForDeletedProfiles() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted profiles. ProfileReceiver.deletedProfiles() is invoked when a profile is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedProfile

      void registerForDeletedProfile(Id profileId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted profile. ProfileReceiver.deletedProfiles() is invoked when the specified profile is deleted.
      Parameters:
      profileId - the Id of the profile to monitor
      Throws:
      NullArgumentException - profileId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProfileHierarchy

      void registerForChangedProfileHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated profile hierarchy structure. ProfileReceiver.changedChildOfProfiless() 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.
    • registerForChangedProfileHierarchyForAncestors

      void registerForChangedProfileHierarchyForAncestors(Id profileId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated profile hierarchy structure. ProfileReceiver.changedChildOfProfiles() is invoked when the specified node or any of its ancestors experiences a change in its children.
      Parameters:
      profileId - the Id of the Profile node to monitor
      Throws:
      NullArgumentException - profileId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProfileHierarchyForDescendants

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