Interface LogEntryNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface LogEntryNotificationSession extends OsidSession

This session defines methods to receive notifications on new or deleted log entries. 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 assignments of Ids to this log. For notifications of changes to the Log object use LogNotificationSession .

  • Method Details

    • getLogId

      Id getLogId()
      Gets the Log Id associated with this session.
      Returns:
      the Log Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getLog

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

      boolean canRegisterForLogEntryNotifications()
      Tests if this user can register for Log entry 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.
    • useFederatedLogView

      void useFederatedLogView()
      Federates the view for methods in this session. A federated view will include entries from parent logs in the log hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedLogView

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

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

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

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

      void registerForNewLogEntries() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new log entries. LogEntryReceiver.newLogEntries() is invoked when a new LogEntry is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewLogEntriesAtPriority

      void registerForNewLogEntriesAtPriority(Type priorityType) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new log entries at or above the given priority type. LogEntryReceiver.newLogEntries() is invoked when a new LogEntry is created.
      Parameters:
      priorityType - a priority type
      Throws:
      NullArgumentException - priorityType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewLogEntriesForResource

      void registerForNewLogEntriesForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new log entries logged by an agent associated with the given resource. LogEntryReceiver.newLogEntries() is invoked when a new LogEntry is created.
      Parameters:
      resourceId - a resource Id
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedLogEntries

      void registerForChangedLogEntries() throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated log entries. LogEntryReceiver.changedLogEntries() is invoked when a LogEntry iin this log is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedEntriesAtPriority

      void registerForChangedEntriesAtPriority(Type priorityType) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated log entries at or above the given priority type. LogEntryReceiver.changedLogEntries() is invoked when a LogEntry in this log is changed.
      Parameters:
      priorityType - a priority type
      Throws:
      NullArgumentException - priorityType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedEntriesForResource

      void registerForChangedEntriesForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated log entries logged by an agent associated with the given resource. LogEntryReceiver.changedLogEntry() is invoked when a LogEntry in this log is changed.
      Parameters:
      resourceId - a resource Id
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedLogEntry

      void registerForChangedLogEntry(Id logEntryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated log entry. LogEntryReceiver.changedLogEntries() is invoked when the specified log entry is changed.
      Parameters:
      logEntryId - the Id of the LogEntry to monitor
      Throws:
      NullArgumentException - logEntryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedLogEntries

      void registerForDeletedLogEntries() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted log entries. LogEntryReceiver.deletedLogEntries() is invoked when a log entry is deleted or removed from this log.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedLogEntriesAtPriority

      void registerForDeletedLogEntriesAtPriority(Type priorityType) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted log entries at or above the given priority type. LogEntryReceiver.deletedLogEntries() is invoked when a LogEntry is deleted or removed from this log.
      Parameters:
      priorityType - a priority type
      Throws:
      NullArgumentException - priorityType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedLogEntriesForResource

      void registerForDeletedLogEntriesForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted log entries logged by an agent associated with the given resource. LogEntryReceiver.deletedLogEntries() is invoked when a LogEntry is deleted or removed from this log.
      Parameters:
      resourceId - a resource Id
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedLogEntry

      void registerForDeletedLogEntry(Id logEntryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted log entry. LogEntryReceiver.deleteddLogEntries() is invoked when the specified log entry is deleted or removed from this log.
      Parameters:
      logEntryId - the Id of the LogEntry to monitor
      Throws:
      NullArgumentException - logEntryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.