| Interface | osid.course.program.ProgramQuerySession | ||
|---|---|---|---|
| Implements | osid.OsidSession | ||
| Description | This session provides methods for searching among  This session defines views that offer differing behaviors for searching. 
  Programs may have a query record indicated by their 
                respective record types. The query record is accessed via the 
                 | ||
| Method | getCourseCatalogId | ||
| Description | Gets the  | ||
| Return | osid.id.Id | the  CourseCatalog Id associated with this session | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getCourseCatalog | ||
| Description | Gets the  | ||
| Return | osid.course.CourseCatalog | the course catalog | |
| Errors | OPERATION_FAILED | unable to complete request | |
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | canSearchPrograms | ||
| Description | Tests if this user can perform  | ||
| Return | boolean |  false if search methods are not authorized, true 
otherwise | |
| Compliance | mandatory | This method must be implemented. | |
| Method | useFederatedCourseCatalogView | ||
| Description | Federates the view for methods in this session. A federated view will include programs in course catalog which are children of this course catalog in the course catalog hierarchy. | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | useIsolatedCourseCatalogView | ||
| Description | 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. | |
| Method | getProgramQuery | ||
| Description | Gets a program query. | ||
| Return | osid.course.program.ProgramQuery | the program query | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getProgramsByQuery | ||
| Description | Gets a list of  | ||
| Parameters | osid.course.program.ProgramQuery | programQuery | the program query | 
| Return | osid.course.program.ProgramList | the returned  ProgramList  | |
| Errors | NULL_ARGUMENT |  programQuery is null  | |
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| UNSUPPORTED |  programQuery is not of this service | ||
| Compliance | mandatory | This method must be implemented. | |