Interface CourseQuerySession

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

public interface CourseQuerySession extends OsidSession

This session provides methods for searching among Courses . The search query is constructed using the CourseQuery .

This session defines views that offer differing behaviors for searching.

  • federated course catalog view: searches include courses in course catalogs of which this course catalog is an ancestor in the course catalog hierarchy
  • isolated course catalog view: searches are restricted to courses in this course catalog

Courses may have a query record indicated by their respective record types. The query record is accessed via the CourseQuery .

  • Method Details

    • getCourseCatalogId

      Id getCourseCatalogId()
      Gets the CourseCatalog Id associated with this session.
      Returns:
      the CourseCatalog Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getCourseCatalog

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

      boolean canSearchCourses()
      Tests if this user can perform Course searches. 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 opt not to offer search operations to unauthorized users.
      Returns:
      false if search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedCourseCatalogView

      void useFederatedCourseCatalogView()
      Federates the view for methods in this session. A federated view will include courses in course catalog which are children of this course catalog in the course catalog hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedCourseCatalogView

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

      CourseQuery getCourseQuery()
      Gets a course query.
      Returns:
      the course query
      Compliance:
      mandatory - This method must be implemented.
    • getCoursesByQuery

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