Interface LogEntryNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface LogEntryNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to LogEntry objects in this FrontOffice . This also includes existing log entries that may appear or disappear due to changes in the FrontOffice hierarchy, 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.

The two views defined in this session correspond to the views in the LogEntryLookupSession .

  • Method Details

    • getFrontOfficeId

      Id getFrontOfficeId()
      Gets the FrontOffice Id associated with this session.
      Returns:
      the FrontOffice Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getFrontOffice

      Gets the FrontOffice associated with this session.
      Returns:
      the front office
      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 LogEntry 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.
    • useFederatedFrontOfficeView

      void useFederatedFrontOfficeView()
      Federates the view for methods in this session. A federated view will include log entries in front offices which are children of this front office in the front office hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedFrontOfficeView

      void useIsolatedFrontOfficeView()
      Isolates the view for methods in this session. An isolated view restricts notifications to this front office 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 appears in this front office.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewLogEntriesForQueue

      void registerForNewLogEntriesForQueue(Id queueId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new log entries in the given queue. LogEntryReceiver.newLogEntries() is invoked when a new LogEntry appears in this front office.
      Parameters:
      queueId - the Id of the queue to monitor
      Throws:
      NullArgumentException - queueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewLogEntriesForIssue

      void registerForNewLogEntriesForIssue(Id issueId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new log entries for the given issue. LogEntryReceiver.newLogEntries() is invoked when a new LogEntry appears in this front office.
      Parameters:
      issueId - the Id of the issue to monitor
      Throws:
      NullArgumentException - issueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedLogEntries

      void registerForChangedLogEntries() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated log entries. LogEntryReceiver.changedLogEntries() is invoked when a log entry in this front office is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedLogEntriesForQueue

      void registerForChangedLogEntriesForQueue(Id queueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated log entries in the given queue. LogEntryReceiver.changedLogEntries() is invoked when a log entry in this front office is changed.
      Parameters:
      queueId - the Id of the queue to monitor
      Throws:
      NullArgumentException - queueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedLogEntriesForIssue

      void registerForChangedLogEntriesForIssue(Id issueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated log entries for the given issue.LogEntry Receiver.changedLogEntries() is invoked when a log entry in this front office is changed.
      Parameters:
      issueId - the Id of the issue to monitor
      Throws:
      NullArgumentException - issueId 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. IssueReceiver.changedLogEntries() is invoked when the specified log entry in this front office 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 front office.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedLogEntriesForQueue

      void registerForDeletedLogEntriesForQueue(Id queueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted log entries in the given queue. LogEntryReceiver.deletedLogEntries() is invoked when a log entry is deleted or removed from this front office.
      Parameters:
      queueId - the Id of the queue to monitor
      Throws:
      NullArgumentException - queueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedLogEntriesForIssue

      void registerForDeletedLogEntriesForIssue(Id issueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted log entries for the given issue. LogEntryReceiver.deletedLogEntries() is invoked when a log entry is deleted or removed from this front office.
      Parameters:
      issueId - the Id of the issue to monitor
      Throws:
      NullArgumentException - issueId 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.deletedLogEntries() is invoked when the specified log entry is deleted or removed from this front office.
      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.