Interface BudgetNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface BudgetNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Budgets in this Business . This also includes existing budgets 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 BudgetLookupSession .

  • 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.
    • canRegisterForBudgetNotifications

      boolean canRegisterForBudgetNotifications()
      Tests if this user can register for Budget 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 budgets 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.
    • reliableBudgetNotifications

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

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

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

      void registerForNewBudgets() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new budgets. BudgetReceiver.newBudgets() is invoked when a new Budget appears in this business.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewBudgetsForActivity

      void registerForNewBudgetsForActivity(Id activityId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new budgets for the given activity. BudgetReceiver.newBudgets() is invoked when a new Budget appears in this business.
      Parameters:
      activityId - the Id of the Activity to monitor
      Throws:
      NullArgumentException - activityId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewBudgetsForFiscalPeriod

      void registerForNewBudgetsForFiscalPeriod(Id fiscalPeriodId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new budgets for the given fiscal period. BudgetReceiver.newBudgets() is invoked when a new Budget appears in this business.
      Parameters:
      fiscalPeriodId - the Id of the FiscalPeriod to monitor
      Throws:
      NullArgumentException - fiscalPeriodId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedBudgets

      void registerForChangedBudgets() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated budgets. BudgetReceiver.changedBudgets() is invoked when a budget in this business is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerFoChangedBudgetsForActivity

      void registerFoChangedBudgetsForActivity(Id activityId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated budgets for the given activity. BudgetReceiver.changedBudgets() is invoked when a budget in this business is changed.
      Parameters:
      activityId - the Id of the Activity to monitor
      Throws:
      NullArgumentException - activityId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerFoChangedBudgetsForFiscalPeriod

      void registerFoChangedBudgetsForFiscalPeriod(Id fiscalPeriodId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated budgets for the given fiscal period. BudgetReceiver.changedBudgets() is invoked when a budget in this business is changed.
      Parameters:
      fiscalPeriodId - the Id of the FiscalPeriod to monitor
      Throws:
      NullArgumentException - fiscalPeriodId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedBudget

      void registerForChangedBudget(Id budgetId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated budget. BudgetReceiver.changedBudgets() is invoked when the specified budget 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.
    • registerForDeletedBudgets

      void registerForDeletedBudgets() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted budgets. BudgetReceiver.deletedBudgets() is invoked when a budget is deleted or removed from this business.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedBudgetsForActivity

      void registerForDeletedBudgetsForActivity(Id activityId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted budgets for the given activity. BudgetReceiver.deletedBudgets() is invoked when a budget is deleted or removed from this business.
      Parameters:
      activityId - the Id of the Activity to monitor
      Throws:
      NullArgumentException - activityId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedBudgetsForFiscalPeriod

      void registerForDeletedBudgetsForFiscalPeriod(Id fiscalPeriodId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted budgets for the given fiscal period. BudgetReceiver.deletedBudgets() is invoked when a budget is deleted or removed from this business.
      Parameters:
      fiscalPeriodId - the Id of the FiscalPeriod to monitor
      Throws:
      NullArgumentException - fiscalPeriodId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedBudget

      void registerForDeletedBudget(Id budgetId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted budget. BudgetReceiver.deletedBudgets() is invoked when the specified budget 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.