Interface RuleNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface RuleNotificationSession extends OsidSession

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

    • getEngineId

      Id getEngineId()
      Gets the Engine Id associated with this session.
      Returns:
      the Engine Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getEngine

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

      boolean canRegisterForRuleNotifications()
      Tests if this user can register for Rule 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.
    • useFederatedEngineView

      void useFederatedEngineView()
      Federates the view for methods in this session. A federated view will include notifications for rules in engines which are children of this engine in the engine hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedEngineView

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

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

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

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

      void registerForNewRules() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new rules. RuleReceiver.newRules() is invoked when a new Rule is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedRules

      void registerForChangedRules() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated rules. RuleReceiver.changedRules() is invoked when a rule is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedRule

      void registerForChangedRule(Id ruleId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated rule. RuleReceiver.changedRules() is invoked when the specified rule is changed.
      Parameters:
      ruleId - the Id of the Rule to monitor
      Throws:
      NullArgumentException - ruleId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedRules

      void registerForDeletedRules() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted rules. RuleReceiver.deletedRules() is invoked when a rule is removed from this engine.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedRule

      void registerForDeletedRule(Id ruleId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted rule. RuleReceiver.deletedRules() is invoked when the specified rule is removed from this engine.
      Parameters:
      ruleId - the Id of the Rule to monitor
      Throws:
      NullArgumentException - ruleId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.