Interface PeriodQuerySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
All Known Subinterfaces:
PeriodSearchSession

public interface PeriodQuerySession extends OsidSession

This session provides methods for searching among Periods. The search query is constructed using the PeriodQuery.

This session defines views that offer differing behaviors for searching.

  • federated business view: searches include periods in businesses of which this business is an ancestor in the business hierarchy
  • isolated business view: searches are restricted to periods in this business

Periods may have a query record indicated by their respective record types. The query record is accessed via the 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.
    • canSearchPeriods

      boolean canSearchPeriods()
      Tests if this user can perform Period lookups. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may not offer lookup operations to unauthorized users.
      Returns:
      false if search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedBusinessView

      void useFederatedBusinessView()
      Federates the view for methods in this session. A federated view will include periods in business which are children of this business in the business hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedBusinessView

      void useIsolatedBusinessView()
      Isolates the view for methods in this session. An isolated view restricts lookups to this business only.
      Compliance:
      mandatory - This method is must be implemented.
    • getPeriodQuery

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

      Gets a list of Periods matching the given period query.
      Parameters:
      periodQuery - the period query
      Returns:
      the returned PeriodList
      Throws:
      NullArgumentException - periodQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - periodQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.