Interface ShipmentNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ShipmentNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Shipments in this Warehouse . This also includes existing shipments that may appear or disappear due to changes in the Warehouse 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 ShipmentLookupSession .

  • Method Details

    • getWarehouseId

      Id getWarehouseId()
      Gets the Warehouse Id associated with this session.
      Returns:
      the Warehouse Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getWarehouse

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

      boolean canRegisterForShipmentNotifications()
      Tests if this user can register for Shipment 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.
    • useFederatedWarehouseView

      void useFederatedWarehouseView()
      Federates the view for methods in this session. A federated view will include shipments in catalogs which are children of this catalog in the warehouse hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedWarehouseView

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

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

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

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

      void registerForNewShipments() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new shipments. ShipmentReceiver.newShipments() is invoked when a new Shipment appears in this warehouse.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewShipmentsForSource

      void registerForNewShipmentsForSource(Id sourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new shipments for the given source. ShipmentReceiver.newShipments() is invoked when a new Shipment appears in this warehouse.
      Parameters:
      sourceId - the Id of the source to monitor
      Throws:
      NullArgumentException - sourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewShipmentsForStock

      void registerForNewShipmentsForStock(Id stockId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new shipments for the given stock. ShipmentReceiver.newShipments() is invoked when a new Shipment appears in this warehouse.
      Parameters:
      stockId - the Id of the Stock to monitor
      Throws:
      NullArgumentException - stockId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedShipments

      void registerForChangedShipments() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated shipments. ShipmentReceiver.changedShipments() is invoked when a shipment in this warehouse is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedShipmentsForSource

      void registerForChangedShipmentsForSource(Id sourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated shipments for the given source. ShipmentReceiver.changedShipments() is invoked when the specified shipment in this warehouse is changed.
      Parameters:
      sourceId - the Id of the source to monitor
      Throws:
      NullArgumentException - sourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedShipmentsForStock

      void registerForChangedShipmentsForStock(Id stockId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated shipments for the given stock. ShipmentReceiver.changedShipments() is invoked when the specified shipment in this warehouse is changed.
      Parameters:
      stockId - the Id of the Stock to monitor
      Throws:
      NullArgumentException - stockId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedShipment

      void registerForChangedShipment(Id shipmentId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated shipment. ShipmentReceiver.changedShipments() is invoked when the specified shipment in this warehouse is changed.
      Parameters:
      shipmentId - the Id of the Shipment to monitor
      Throws:
      NullArgumentException - shipmentId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedShipments

      void registerForDeletedShipments() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted shipments. ShipmentReceiver.deletedShipments() is invoked when a shipment is deleted or removed from this warehouse.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedShipmentsForSource

      void registerForDeletedShipmentsForSource(Id sourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted shipments for the given source. ShipmentReceiver.deletedShipments() is invoked when the specified shipment is deleted or removed from this warehouse.
      Parameters:
      sourceId - the Id of the source to monitor
      Throws:
      NullArgumentException - sourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedShipmentsForStock

      void registerForDeletedShipmentsForStock(Id stockId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted shipments for the given stock. ShipmentReceiver.deletedShipments() is invoked when the specified shipment is deleted or removed from this warehouse.
      Parameters:
      stockId - the Id of the Stock to monitor
      Throws:
      NullArgumentException - stockId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedShipment

      void registerForDeletedShipment(Id shipmentId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted shipment. ShipmentReceiver.deletedShipments() is invoked when the specified shipment is deleted or removed from this warehouse.
      Parameters:
      shipmentId - the Id of the Shipment to monitor
      Throws:
      NullArgumentException - shipmentId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.