Interface OntologyNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface OntologyNotificationSession extends OsidSession

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

  • Method Details

    • canRegisterForOntologyNotifications

      boolean canRegisterForOntologyNotifications()
      Tests if this user can register for Ontology 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.
    • reliableOntologyNotifications

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

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

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

      void registerForNewOntologies() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new ontologies. OntologyReceiver.newOntologies() is invoked when a new Ontology is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOntologies

      void registerForChangedOntologies() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated ontologies. OntologyReceiver.changedOntologies() is invoked when an ontology is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOntology

      void registerForChangedOntology(Id ontologyId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated ontology. OntologyReceiver.changedOntologies() is invoked when the specified ontology is changed.
      Parameters:
      ontologyId - the Id of the ontology to monitor
      Throws:
      NullArgumentException - ontologyId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedOntologies

      void registerForDeletedOntologies() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted ontologies. OntologyReceiver.deletedOntologies() is invoked when a calenedar is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedOntology

      void registerForDeletedOntology(Id ontologyId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted ontology. OntologyReceiver.deletedOntologies() is invoked when the specified ontology is deleted.
      Parameters:
      ontologyId - the Id of the ontology to monitor
      Throws:
      NullArgumentException - ontologyId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOntologyHierarchy

      void registerForChangedOntologyHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated ontology hierarchy structure. OntologyReceiver.changedChildOfOntologies() 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.
    • registerForChangedOntologyHierarchyForAncestors

      void registerForChangedOntologyHierarchyForAncestors(Id ontologyId) throws OperationFailedException, PermissionDeniedException
      OntologyReceiver.changedChildOfOntologiess() is invoked when the specified node or any of its ancestors experiences a change in its children.
      Parameters:
      ontologyId - the Id of the Ontology node to monitor
      Throws:
      NullArgumentException - ontologyId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedOntologyHierarchyForDescendants

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