Interface ItemSmartBankSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ItemSmartBankSession 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 Bank to create a virtual collection of Items . The Items may be sequenced using the ItemSearchOrder from this session.

This Bank 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

    • getBankId

      Id getBankId()
      Gets the Bank Id associated with this session.
      Returns:
      the Bank Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getBank

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

      boolean canManageSmartBanks()
      Tests if this user can manage smart banks. 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 bank management is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getItemQuery

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

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

      void applyItemQuery(ItemQuery itemQuery) throws OperationFailedException, PermissionDeniedException
      Applies an item query to this bank.
      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 bank.
      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 bank.
      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 - an item 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.