Interface AccountSmartBusinessSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AccountSmartBusinessSession extends OsidSession

This session manages queries and sequencing to create "smart" dynamic catalogs. An AccountQuery can be retrieved from this session and mapped to this Business to create a virtual collection of Accounts . The accounts may be sequenced using the AccountSearchOrder from this session.

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

  • Method Details

    • getBusinessId

      Id getBusinessId()
      Gets the Business Id associated with this session.
      Returns:
      the Business Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getBusiness

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

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

      AccountQuery getAccountQuery()
      Gets an account query.
      Returns:
      the account query
      Compliance:
      mandatory - This method must be implemented.
    • getAccountSearchOrder

      AccountSearchOrder getAccountSearchOrder()
      Gets an account search order.
      Returns:
      the account search order
      Compliance:
      mandatory - This method must be implemented.
    • applyAccountQuery

      void applyAccountQuery(AccountQuery accountQuery) throws OperationFailedException, PermissionDeniedException
      Applies an account query to this business.
      Parameters:
      accountQuery - the account query
      Throws:
      NullArgumentException - accountQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - accountQuery not of this service
      Compliance:
      mandatory - This method must be implemented.
    • inspectAccountQuery

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

      void applyAccountSequencing(AccountSearchOrder accountSearchOrder) throws OperationFailedException, PermissionDeniedException
      Applies an account search order to this business.
      Parameters:
      accountSearchOrder - the account search order
      Throws:
      NullArgumentException - accountSearchOrder is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - accountSearchOrder not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getAccountQueryFromInspector

      AccountQuery getAccountQueryFromInspector(AccountQueryInspector accountQueryInspector)
      Gets an account query from an inspector.
      Parameters:
      accountQueryInspector - a query inspector
      Returns:
      the account query
      Throws:
      NullArgumentException - accountQueryInspector is null
      UnsupportedException - accountQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.