Interface PeriodSmartBusinessSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface PeriodSmartBusinessSession extends OsidSession

This session manages queries and sequencing to create "smart" dynamic catalogs. A PeriodQuery can be retrieved from this session and mapped to this Business to create a virtual collection of Periods . The periods may be sequenced using the PeriodSearchOrder from this session.

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

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

      PeriodQuery getPeriodQuery()
      Gets a period query.
      Returns:
      the period query
      Compliance:
      mandatory - This method must be implemented.
    • getPeriodSearchOrder

      PeriodSearchOrder getPeriodSearchOrder()
      Gets a period search order.
      Returns:
      the period search order
      Compliance:
      mandatory - This method must be implemented.
    • applyPeriodQuery

      void applyPeriodQuery(PeriodQuery periodQuery) throws OperationFailedException, PermissionDeniedException
      Applies a period query to this business.
      Parameters:
      periodQuery - the period query
      Throws:
      NullArgumentException - periodQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - periodQuery not of this service
      Compliance:
      mandatory - This method must be implemented.
    • inspectPeriodQuery

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

      void applyPeriodSequencing(PeriodSearchOrder periodSearchOrder) throws OperationFailedException, PermissionDeniedException
      Applies a period search order to this business.
      Parameters:
      periodSearchOrder - the period search order
      Throws:
      NullArgumentException - periodSearchOrder is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - periodSearchOrder not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getPeriodQueryFromInspector

      PeriodQuery getPeriodQueryFromInspector(PeriodQueryInspector periodQueryInspector)
      Gets a period query from an inspector.
      Parameters:
      periodQueryInspector - a query inspector
      Returns:
      the period query
      Throws:
      NullArgumentException - periodQueryInspector is null
      UnsupportedException - periodQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.