Interface OrganizationNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface OrganizationNotificationSession extends OsidSession

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

    • getRealmId

      Id getRealmId()
      Gets the Realm Id associated with this session.
      Returns:
      the Realm Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getRealm

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

      boolean canRegisterForOrganizationNotifications()
      Tests if this user can register for Organization 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.
    • useFederatedRealmView

      void useFederatedRealmView()
      Federates the view for methods in this session. A federated view will include notifications for organizations in realms which are children of this realm in the realm hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedRealmView

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

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

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

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

      void registerForNewOrganizations() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new organizations. OrganizationReceiver.newOrganizations() is invoked when a new Organization is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOrganizations

      void registerForChangedOrganizations() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated organizations. OrganizationReceiver.changedOrganizations() is invoked when an organization in this realm is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOrganization

      void registerForChangedOrganization(Id organizationId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Registers for notification of an updated organization. OrganizationReceiver.changedOrganizations() is invoked when the specified organization in this realm is changed.
      Parameters:
      organizationId - the Id of the Organization to monitor
      Throws:
      NotFoundException - an organization was not found identified by the given Id
      NullArgumentException - organizationId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedOrganizations

      void registerForDeletedOrganizations() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted organizations. OrganizationReceiver.deletedOrganizations() is invoked when an organization is removed from this realm.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedOrganization

      void registerForDeletedOrganization(Id organizationId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted organization. OrganizationReceiver.deletedOrganizations() is invoked when the specified organization is removed from this realm.
      Parameters:
      organizationId - the Id of the Organization to monitor
      Throws:
      NotFoundException - an organization was not found identified by the given Id
      NullArgumentException - organizationId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOrganizationHierarchy

      void registerForChangedOrganizationHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated organization hierarchy structure. OrganizationReceiver.changedChildOfOrganizations() is invoked when the specified node or any of its ancestors experiences a change in its children.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOrganizationHierarchyForAncestors

      void registerForChangedOrganizationHierarchyForAncestors(Id organizationId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated organization hierarchy structure. OrganizationReceiver.changedChildOfOrganizations() is invoked when the specified node or any of its ancestors experiences a change in its children.
      Parameters:
      organizationId - the Id of the Organization node to monitor
      Throws:
      NullArgumentException - organizationId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOrganizationHierarchyForDescendants

      void registerForChangedOrganizationHierarchyForDescendants(Id organizationId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated organization hierarchy structure. OrganizationReceiver.changedChildOfOrganizations() is invoked when the specified node or any of its ancestors experiences a change in its children.
      Parameters:
      organizationId - the Id of the Organization node to monitor
      Throws:
      NullArgumentException - organizationId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.