| Interface | osid.course.program.ProgramSearch | ||
|---|---|---|---|
| Implements | osid.OsidSearch | ||
| Description | 
                 The search interface for governing program searches.  | ||
| Method | searchAmongPrograms | ||
| Description | 
                     Execute this search among the given list of programs.  | ||
| Parameters | osid.id.IdList | programIds | list of program  Ids   | 
| Errors | NULL_ARGUMENT |  programIds  is  null   |                 |
| Compliance | mandatory | This method must be implemented. | |
| Method | orderProgramResults | ||
| Description | 
                     Specify an ordering to the search results.  | ||
| Parameters | osid.course.program.ProgramSearchOrder | programSearchOrder | program search order | 
| Errors | NULL_ARGUMENT |  programSearchOrder  is  null   |                 |
| UNSUPPORTED |  programSearchOrder  is not of this service  |                 ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getProgramSearchRecord | ||
| Description | 
                     Gets the program search record corresponding to the 
                    given program search record   | ||
| Parameters | osid.type.Type | programSearchRecordType | a program search record type | 
| Return | osid.course.program.records.ProgramSearchRecord | the program search record | |
| Errors | NULL_ARGUMENT |  programSearchRecordType  is  null   |                 |
| OPERATION_FAILED | unable to complete request | ||
| UNSUPPORTED |  hasRecordType(programSearchRecordType)  is  false 
  |                 ||
| Compliance | mandatory | This method must be implemented. | |