Interface InventorySmartWarehouseSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface InventorySmartWarehouseSession extends OsidSession

This session manages queries and sequencing to create "smart" dynamic catalogs. An InventoryQuery can be retrieved from this session and mapped to this Warehouse to create a virtual collection of Inventories . The inventories may be sequenced using the InventorySearchOrder from this session.

This Warehouse has a default query that matches any inventory and a default search order that specifies no sequencing. The queries may be examined using an InventoryQueryInspector . The query may be modified by converting the inspector back to an InventoryQuery .

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

      boolean canManageSmartWarehouses()
      Tests if this user can manage smart warehouses. A return of true does not guarantee successful assessment. A return of false indicates that it is known 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 operations to unauthorized users.
      Returns:
      false if smart warehouse management is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getInventoryQuery

      InventoryQuery getInventoryQuery()
      Gets an inventory query.
      Returns:
      the inventory query
      Compliance:
      mandatory - This method must be implemented.
    • getInventorySearchOrder

      InventorySearchOrder getInventorySearchOrder()
      Gets an inventory search order.
      Returns:
      the inventory search order
      Compliance:
      mandatory - This method must be implemented.
    • applyInventoryQuery

      void applyInventoryQuery(InventoryQuery inventoryQuery) throws OperationFailedException, PermissionDeniedException
      Applies an inventory query to this warehouse.
      Parameters:
      inventoryQuery - the inventory query
      Throws:
      NullArgumentException - inventoryQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - inventoryQuery not of this service
      Compliance:
      mandatory - This method must be implemented.
    • inspectInventoryQuery

      Gets an inventory query inspector for this warehouse.
      Returns:
      the inventory query inspector
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      Compliance:
      mandatory - This method must be implemented.
    • applyInventorySequencing

      void applyInventorySequencing(InventorySearchOrder inventorySearchOrder) throws OperationFailedException, PermissionDeniedException
      Applies an inventory search order to this warehouse.
      Parameters:
      inventorySearchOrder - the inventory search order
      Throws:
      NullArgumentException - inventorySearchOrder is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - inventorySearchOrder not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getInventoryQueryFromInspector

      InventoryQuery getInventoryQueryFromInspector(InventoryQueryInspector inventoryQueryInspector)
      Gets an inventory query from an inspector.
      Parameters:
      inventoryQueryInspector - a query inspector
      Returns:
      the inventory query
      Throws:
      NullArgumentException - inventoryQueryInspector is null
      UnsupportedException - inventoryQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.