Interface WarehouseNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface WarehouseNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Warehouses . This session is intended for consumers needing to synchronize their state with this service without the use of polling. Notifications are cancelled when this sess

  • Method Details

    • canRegisterForWarehouseNotifications

      boolean canRegisterForWarehouseNotifications()
      Tests if this user can register for Warehouse 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.
    • reliableWarehouseNotifications

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

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

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

      void registerForNewWarehouses() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new warehouses. WarehouseReceiver.newWarehouses() is invoked when a new Warehouse is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedWarehouses

      void registerForChangedWarehouses() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated warehouses. WarehouseReceiver.changedWarehouses() is invoked when a warehouse is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedWarehouse

      void registerForChangedWarehouse(Id warehouseId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated warehouse. WarehouseReceiver.changedWarehouses() is invoked when the specified warehouse is changed. S
      Parameters:
      warehouseId - the Id of the Warehouse to monitor
      Throws:
      NullArgumentException - warehouseId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedWarehouses

      void registerForDeletedWarehouses() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted warehouses. WarehouseReceiver.deletedWarehouses() is invoked when a warehouse is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedWarehouse

      void registerForDeletedWarehouse(Id warehouseId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted warehouse. WarehouseReceiver.deletedWarehouses() is invoked when the specified warehouse is deleted.
      Parameters:
      warehouseId - the Id of the Warehouse to monitor
      Throws:
      NullArgumentException - warehouseId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedWarehouseHierarchy

      void registerForChangedWarehouseHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated warehouse hierarchy structure. WarehouseReceiver.changedChildOfWarehouses() is invoked when a node experiences a change in its children.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedWarehouseHierarchyForAncestors

      void registerForChangedWarehouseHierarchyForAncestors(Id warehouseId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated warehouse hierarchy structure. WarehouseReceiver.changedChildOfWarehouses() is invoked when a node experiences a change in its children.
      Parameters:
      warehouseId - the Id of the Warehouse node to monitor
      Throws:
      NullArgumentException - warehouseId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedWarehouseHierarchyForDescendants

      void registerForChangedWarehouseHierarchyForDescendants(Id warehouseId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated warehouse hierarchy structure. WarehouseReceiver.changedChildOfWarehouses() is invoked when a node experiences a change in its children.
      Parameters:
      warehouseId - the Id of the Warehouse node to monitor
      Throws:
      NullArgumentException - warehouseId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.