Interface ItemSmartWarehouseSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ItemSmartWarehouseSession extends OsidSession

This session manages queries and sequencing to create "smart" dynamic catalogs. An ItemQuery can be retrieved from this session and mapped to this CoursOfferingeCatalog to create a virtual collection of Items . The items may be sequenced using the ItemSearchOrder from this session.

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

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

      ItemQuery getItemQuery()
      Gets an item query.
      Returns:
      the item query
      Compliance:
      mandatory - This method must be implemented.
    • getItemSearchOrder

      ItemSearchOrder getItemSearchOrder()
      Gets an item search order.
      Returns:
      the item search order
      Compliance:
      mandatory - This method must be implemented.
    • applyItemQuery

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

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

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

      ItemQuery getItemQueryFromInspector(ItemQueryInspector itemQueryInspector)
      Gets an item query from an inspector.
      Parameters:
      itemQueryInspector - a query inspector
      Returns:
      the item query
      Throws:
      NullArgumentException - itemQueryInspector is null
      UnsupportedException - itemQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.