Interface BudgetEntryNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface BudgetEntryNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to BudgetEntries . in this Business . This also includes existing budget entries that may appear or disappear due to changes in the Business 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 BudgetEntryLookupSession .

  • Method Details

    • getBusinessId

      Id getBusinessId()
      Gets the Business Id associated with this session.
      Returns:
      the Business Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getBusiness

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

      boolean canRegisterForBudgetEntryNotifications()
      Tests if this user can register for BudgetEntry 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.
    • useFederatedBusinessView

      void useFederatedBusinessView()
      Federates the view for methods in this session. A federated view will include budget entries in catalogs which are children of this catalog in the business hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedBusinessView

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

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

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

      void acknowledgeBudgetEntryNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException
      Acknowledge a budget 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.
    • registerForNewBudgetEntries

      void registerForNewBudgetEntries() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new budget entries. BudgetEntryReceiver.newBudgetEntries() is invoked when a new BudgetEntry appears in this business.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewBudgetEntriesForBudget

      void registerForNewBudgetEntriesForBudget(Id budgetId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new budget entries for the given budget. BudgetEntryReceiver.newBudgetEntries() is invoked when a new BudgetEntry appears in this business.
      Parameters:
      budgetId - the Id of the Budget to monitor
      Throws:
      NullArgumentException - budgetId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewBudgetEntriesForAccount

      void registerForNewBudgetEntriesForAccount(Id accountId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new budget entries for the given account. BudgetEntryReceiver.newBudgetEntries() is invoked when a new BudgetEntry appears in this business.
      Parameters:
      accountId - the Id of the Account to monitor
      Throws:
      NullArgumentException - accountId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedBudgetEntries

      void registerForChangedBudgetEntries() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated budget entries. BudgetEntryReceiver.changedBudgetEntries() is invoked when a budget entry in this business is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedBudgetEntriesForBudget

      void registerForChangedBudgetEntriesForBudget(Id budgetId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated budget entries for the given budget. BudgetEntryReceiver.changedBudgetEntries() is invoked when the specified budget entry in this business is changed.
      Parameters:
      budgetId - the Id of the Budget to monitor
      Throws:
      NullArgumentException - budgetId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedBudgetEntriesForAccount

      void registerForChangedBudgetEntriesForAccount(Id accountId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated budget entries for the given account. BudgetEntryReceiver.changedBudgetEntries() is invoked when the specified budget entry in this business is changed.
      Parameters:
      accountId - the Id of the Account to monitor
      Throws:
      NullArgumentException - accountId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedBudgetEntry

      void registerForChangedBudgetEntry(Id budgetEntryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated budget entries. BudgetEntryReceiver.changedBudgetEntries() is invoked when the specified budget entry in this business is changed.
      Parameters:
      budgetEntryId - the Id of the BudgetEntry to monitor
      Throws:
      NullArgumentException - budgetEntryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedBudgetEntries

      void registerForDeletedBudgetEntries() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted budget entries. BudgetEntryReceiver.deletedBudgetEntries() is invoked when a budget entry is deleted or removed from this business.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedBudgetEntriesForBudget

      void registerForDeletedBudgetEntriesForBudget(Id budgetId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted budget entries for the given budget. BudgetEntryReceiver.deletedBudgetEntries() is invoked when the specified budget entry is deleted or removed from this business.
      Parameters:
      budgetId - the Id of the Budget to monitor
      Throws:
      NullArgumentException - budgetId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedBudgetEntriesForAccount

      void registerForDeletedBudgetEntriesForAccount(Id accountId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted budget entries for the given acount. BudgetEntryReceiver.deletedBudgetEntries() is invoked when the specified budget entry is deleted or removed from this business.
      Parameters:
      accountId - the Id of the Account to monitor
      Throws:
      NullArgumentException - accountId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedBudgetEntry

      void registerForDeletedBudgetEntry(Id budgetEntryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted budget entries. BudgetEntryReceiver.deletedBudgetEntries() is invoked when the specified budget entry is deleted or removed from this business.
      Parameters:
      budgetEntryId - the Id of the BudgetEntry to monitor
      Throws:
      NullArgumentException - budgetEntryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.