Interface EndpointNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface EndpointNotificationSession extends OsidSession

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

    • canRegisterForEndpointNotifications

      boolean canRegisterForEndpointNotifications()
      Tests if this user can register for Endpoint 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.
    • reliableEndpointNotifications

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

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

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

      void registerForNewEndpoints() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new endpoints. EndpointReceiver.newEndpoints() is invoked when a new Endpoint is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedEndpoints

      void registerForChangedEndpoints() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated endpoints. EndpointReceiver.changedEndpoints() is invoked when a endpoint is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedEndpoint

      void registerForChangedEndpoint(Id endpointId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated endpoint. EndpointReceiver.changedEndpoints() is invoked when the specified endpoint is changed.
      Parameters:
      endpointId - the Id of the Endpoint to monitor
      Throws:
      NullArgumentException - endpointId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedEndpoints

      void registerForDeletedEndpoints() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted endpoints. EndpointReceiver.deletedEndpoints() is invoked when a endpoint is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedEndpoint

      void registerForDeletedEndpoint(Id endpointId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted endpoint. EndpointReceiver.deletedEndpoints() is invoked when the specified endpoint is deleted.
      Parameters:
      endpointId - the Id of the Endpoint to monitor
      Throws:
      NullArgumentException - endpointId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedEndpointHierarchy

      void registerForChangedEndpointHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated endpoint hierarchy structure. EndpointReceiver.changedChildOfEndpoints() is invoked when the specified node or any of its descendants experiences a change in its children.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedEndpointHierarchyForAncestors

      void registerForChangedEndpointHierarchyForAncestors(Id endpointId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated endpoint hierarchy structure. EndpointReceiver.changedChildOfEndpoints() is invoked when the specified node or any of its descendants experiences a change in its children.
      Parameters:
      endpointId - the Id of the Endpoint node to monitor
      Throws:
      NullArgumentException - endpointId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedEndpointHierarchyForDescendants

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