Interface ProductSearchSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession, ProductQuerySession

public interface ProductSearchSession extends ProductQuerySession

This session provides methods for searching Product objects. The search query is constructed using the ProductQuery. The product record Type also specifies the record for the product query.

getProductsByQuery() is the basic search method and returns a list of Product elements. A more advanced search may be performed with getProductsBySearch().It accepts a ProductSearch in addition to the query for the purpose of specifying additional options affecting the entire search, such as ordering. getProductsBySearch() returns a ProductSearchResults that can be used to access the resulting ProductList or be used to perform a search within the result set through ProductSearch.

Products may have a query record indicated by their respective record types. The query record is accessed via the ProductQuery. The returns in this session may not be cast directly to these interfaces.

  • Method Details

    • getProductSearch

      ProductSearch getProductSearch()
      Gets a product search.
      Returns:
      the product search
      Compliance:
      mandatory - This method must be implemented.
    • getProductSearchOrder

      ProductSearchOrder getProductSearchOrder()
      Gets a product search order. The ProductSearchOrder is supplied to a ProductSearch to specify the ordering of results.
      Returns:
      the product search order
      Compliance:
      mandatory - This method must be implemented.
    • getProductsBySearch

      ProductSearchResults getProductsBySearch(ProductQuery productQuery, ProductSearch productSearch) throws OperationFailedException, PermissionDeniedException
      Gets the search results matching the given search.
      Parameters:
      productQuery - the product query
      productSearch - the product search
      Returns:
      the product search results
      Throws:
      NullArgumentException - productQuery or productSearch is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - productQuery or productSearch is not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getProductQueryFromInspector

      ProductQuery getProductQueryFromInspector(ProductQueryInspector productQueryInspector)
      Gets a product query from an inspector. The inspector is available from a ProductSearchResults.
      Parameters:
      productQueryInspector - a query inspector
      Returns:
      the product query
      Throws:
      NullArgumentException - productQueryInspector is null
      UnsupportedException - productQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.