Interface OrderSmartStoreSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface OrderSmartStoreSession extends OsidSession

This session manages queries and sequencing to create "smart" dynamic catalogs. An OrderQuery can be retrieved from this session and mapped to this Store to create a virtual collection of Orders . The orders may be sequenced using the OrderSearchOrder from this session.

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

  • Method Details

    • getStoreId

      Id getStoreId()
      Gets the Store Id associated with this session.
      Returns:
      the Store Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getStore

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

      boolean canManageSmartStores()
      Tests if this user can manage smart stores. A return of true does not guarantee successful authorization. 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 store management is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getOrderQuery

      OrderQuery getOrderQuery()
      Gets an order query.
      Returns:
      the order query
      Compliance:
      mandatory - This method must be implemented.
    • getOrderSearchOrder

      OrderSearchOrder getOrderSearchOrder()
      Gets an order search order.
      Returns:
      the order search order
      Compliance:
      mandatory - This method must be implemented.
    • applyOrderQuery

      void applyOrderQuery(OrderQuery orderQuery) throws OperationFailedException, PermissionDeniedException
      Applies an order query to this store.
      Parameters:
      orderQuery - the order query
      Throws:
      NullArgumentException - orderQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - orderQuery not of this service
      Compliance:
      mandatory - This method must be implemented.
    • inspectOrderQuery

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

      void applyOrderSequencing(OrderSearchOrder orderSearchOrder) throws OperationFailedException, PermissionDeniedException
      Applies an order search order to this store.
      Parameters:
      orderSearchOrder - the order search order
      Throws:
      NullArgumentException - orderSearchOrder is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - orderSearchOrder not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getOrderQueryFromInspector

      OrderQuery getOrderQueryFromInspector(OrderQueryInspector orderQueryInspector)
      Gets an order query from an inspector.
      Parameters:
      orderQueryInspector - a query inspector
      Returns:
      the order query
      Throws:
      NullArgumentException - orderQueryInspector is null
      UnsupportedException - orderQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.