Source for file CourseManagementManager.php

Documentation is available at CourseManagementManager.php

  1. <?php
  2. include_once(dirname(__FILE__)."/../OsidManager.php");
  3. /**
  4. * <p>
  5. * CourseManagementManager handles creating and deleting
  6. *
  7. * <ul>
  8. * <li>
  9. * CanonicalCourse,
  10. * </li>
  11. * <li>
  12. * CourseGradeRecord,
  13. * </li>
  14. * <li>
  15. * CourseGroup,
  16. * </li>
  17. * <li>
  18. * Term;
  19. * </li>
  20. * </ul>
  21. *
  22. * and gets:
  23. *
  24. * <ul>
  25. * <li>
  26. * CanonicalCourse,
  27. * </li>
  28. * <li>
  29. * CourseGradeRecord,
  30. * </li>
  31. * <li>
  32. * CourseGroup,
  33. * </li>
  34. * <li>
  35. * CourseOffering,
  36. * </li>
  37. * <li>
  38. * CourseSection,
  39. * </li>
  40. * <li>
  41. * Term,
  42. * </li>
  43. * <li>
  44. * various implementation Types.
  45. * </li>
  46. * </ul>
  47. * </p>
  48. *
  49. * <p>
  50. * All implementations of OsidManager (manager) provide methods for accessing
  51. * and manipulating the various objects defined in the OSID package. A manager
  52. * defines an implementation of an OSID. All other OSID objects come either
  53. * directly or indirectly from the manager. New instances of the OSID objects
  54. * are created either directly or indirectly by the manager. Because the OSID
  55. * objects are defined using interfaces, create methods must be used instead
  56. * of the new operator to create instances of the OSID objects. Create methods
  57. * are used both to instantiate and persist OSID objects. Using the
  58. * OsidManager class to define an OSID's implementation allows the application
  59. * to change OSID implementations by changing the OsidManager package name
  60. * used to load an implementation. Applications developed using managers
  61. * permit OSID implementation substitution without changing the application
  62. * source code. As with all managers, use the OsidLoader to load an
  63. * implementation of this interface.
  64. * </p>
  65. *
  66. * <p></p>
  67. *
  68. * <p>
  69. * OSID Version: 2.0
  70. * </p>
  71. *
  72. * <p>
  73. * Licensed under the {@link org.osid.SidImplementationLicenseMIT MIT}
  74. * O.K.I&#46; OSID Definition License}.
  75. * </p>
  76. *
  77. * @package org.osid.coursemanagement
  78. */
  79. class CourseManagementManager
  80. extends OsidManager
  81. {
  82. /**
  83. * Create a new CanonicalCourse.
  84. *
  85. * @param string $title
  86. * @param string $number
  87. * @param string $description
  88. * @param object Type $courseType
  89. * @param object Type $courseStatusType
  90. * @param float $credits
  91. *
  92. * @return object CanonicalCourse
  93. *
  94. * @throws object CourseManagementException An exception
  95. * with one of the following messages defined in
  96. * org.osid.coursemanagement.CourseManagementException may be
  97. * thrown: {@link }
  98. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  99. * OPERATION_FAILED}, {@link }
  100. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  101. * PERMISSION_DENIED}, {@link }
  102. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  103. * CONFIGURATION_ERROR}, {@link }
  104. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  105. * UNIMPLEMENTED}, {@link }
  106. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  107. * NULL_ARGUMENT}, {@link }
  108. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_TYPE
  109. * UNKNOWN_TYPE}
  110. *
  111. * @access public
  112. */
  113. function createCanonicalCourse ( $title, $number, $description, $courseType, $courseStatusType, $credits ) {
  114. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  115. }
  116.  
  117. /**
  118. * Delete a CanonicalCourse.
  119. *
  120. * @param object Id $canonicalCourseId
  121. *
  122. * @throws object CourseManagementException An exception
  123. * with one of the following messages defined in
  124. * org.osid.coursemanagement.CourseManagementException may be
  125. * thrown: {@link }
  126. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  127. * OPERATION_FAILED}, {@link }
  128. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  129. * PERMISSION_DENIED}, {@link }
  130. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  131. * CONFIGURATION_ERROR}, {@link }
  132. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  133. * UNIMPLEMENTED}, {@link }
  134. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  135. * NULL_ARGUMENT}, {@link }
  136. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  137. * UNKNOWN_ID}
  138. *
  139. * @access public
  140. */
  141. function deleteCanonicalCourse ( $canonicalCourseId ) {
  142. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  143. }
  144.  
  145. /**
  146. * Get all CanonicalCourses.
  147. *
  148. * @return object CanonicalCourseIterator
  149. *
  150. * @throws object CourseManagementException An exception
  151. * with one of the following messages defined in
  152. * org.osid.coursemanagement.CourseManagementException may be
  153. * thrown: {@link }
  154. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  155. * OPERATION_FAILED}, {@link }
  156. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  157. * PERMISSION_DENIED}, {@link }
  158. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  159. * CONFIGURATION_ERROR}, {@link }
  160. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  161. * UNIMPLEMENTED}
  162. *
  163. * @access public
  164. */
  165. function getCanonicalCourses () {
  166. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  167. }
  168.  
  169. /**
  170. * Get a CanonicalCourse by Id.
  171. *
  172. * @param object Id $canonicalCourseId
  173. *
  174. * @return object CanonicalCourse
  175. *
  176. * @throws object CourseManagementException An exception
  177. * with one of the following messages defined in
  178. * org.osid.coursemanagement.CourseManagementException may be
  179. * thrown: {@link }
  180. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  181. * OPERATION_FAILED}, {@link }
  182. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  183. * PERMISSION_DENIED}, {@link }
  184. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  185. * CONFIGURATION_ERROR}, {@link }
  186. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  187. * UNIMPLEMENTED}, {@link }
  188. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  189. * NULL_ARGUMENT}, {@link }
  190. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  191. * UNKNOWN_ID}
  192. *
  193. * @access public
  194. */
  195. function getCanonicalCourse ( $canonicalCourseId ) {
  196. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  197. }
  198.  
  199. /**
  200. * Get all CanonicalCourses of the specified Type.
  201. *
  202. * @param object Type $courseType
  203. *
  204. * @return object CanonicalCourseIterator
  205. *
  206. * @throws object CourseManagementException An exception
  207. * with one of the following messages defined in
  208. * org.osid.coursemanagement.CourseManagementException may be
  209. * thrown: {@link }
  210. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  211. * OPERATION_FAILED}, {@link }
  212. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  213. * PERMISSION_DENIED}, {@link }
  214. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  215. * CONFIGURATION_ERROR}, {@link }
  216. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  217. * UNIMPLEMENTED}, {@link }
  218. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  219. * NULL_ARGUMENT}, {@link }
  220. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_TYPE
  221. * UNKNOWN_TYPE}
  222. *
  223. * @access public
  224. */
  225. function getCanonicalCoursesByType ( $courseType ) {
  226. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  227. }
  228.  
  229. /**
  230. * Get a CourseOffering by unique Id.
  231. *
  232. * @param object Id $courseOfferingId
  233. *
  234. * @return object CourseOffering
  235. *
  236. * @throws object CourseManagementException An exception
  237. * with one of the following messages defined in
  238. * org.osid.coursemanagement.CourseManagementException may be
  239. * thrown: {@link }
  240. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  241. * OPERATION_FAILED}, {@link }
  242. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  243. * PERMISSION_DENIED}, {@link }
  244. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  245. * CONFIGURATION_ERROR}, {@link }
  246. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  247. * UNIMPLEMENTED}, {@link }
  248. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  249. * NULL_ARGUMENT}, {@link }
  250. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  251. * UNKNOWN_ID}
  252. *
  253. * @access public
  254. */
  255. function getCourseOffering ( $courseOfferingId ) {
  256. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  257. }
  258.  
  259. /**
  260. * Get a CourseSection by unique Id.
  261. *
  262. * @param object Id $courseSectionId
  263. *
  264. * @return object CourseSection
  265. *
  266. * @throws object CourseManagementException An exception
  267. * with one of the following messages defined in
  268. * org.osid.coursemanagement.CourseManagementException may be
  269. * thrown: {@link }
  270. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  271. * OPERATION_FAILED}, {@link }
  272. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  273. * PERMISSION_DENIED}, {@link }
  274. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  275. * CONFIGURATION_ERROR}, {@link }
  276. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  277. * UNIMPLEMENTED}, {@link }
  278. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  279. * NULL_ARGUMENT}, {@link }
  280. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  281. * UNKNOWN_ID}
  282. *
  283. * @access public
  284. */
  285. function getCourseSection ( $courseSectionId ) {
  286. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  287. }
  288.  
  289. /**
  290. * Get all the Sections in which the specified Agent is enrolled.
  291. *
  292. * @param object Id $agentId
  293. *
  294. * @return object CourseSectionIterator
  295. *
  296. * @throws object CourseManagementException An exception
  297. * with one of the following messages defined in
  298. * org.osid.coursemanagement.CourseManagementException may be
  299. * thrown: {@link }
  300. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  301. * OPERATION_FAILED}, {@link }
  302. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  303. * PERMISSION_DENIED}, {@link }
  304. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  305. * CONFIGURATION_ERROR}, {@link }
  306. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  307. * UNIMPLEMENTED}, {@link }
  308. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  309. * NULL_ARGUMENT}, {@link }
  310. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  311. * UNKNOWN_ID}
  312. *
  313. * @access public
  314. */
  315. function getCourseSections ( $agentId ) {
  316. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  317. }
  318.  
  319. /**
  320. * Get all the Offerings in which the specified Agent is enrolled.
  321. *
  322. * @param object Id $agentId
  323. *
  324. * @return object CourseOfferingIterator
  325. *
  326. * @throws object CourseManagementException An exception
  327. * with one of the following messages defined in
  328. * org.osid.coursemanagement.CourseManagementException may be
  329. * thrown: {@link }
  330. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  331. * OPERATION_FAILED}, {@link }
  332. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  333. * PERMISSION_DENIED}, {@link }
  334. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  335. * CONFIGURATION_ERROR}, {@link }
  336. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  337. * UNIMPLEMENTED}, {@link }
  338. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  339. * NULL_ARGUMENT}, {@link }
  340. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  341. * UNKNOWN_ID}
  342. *
  343. * @access public
  344. */
  345. function getCourseOfferings ( $agentId ) {
  346. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  347. }
  348.  
  349. /**
  350. * Create a new Term with a specific type and Schedule. Schedules are
  351. * defined in the scheduling OSID.
  352. *
  353. * @param object Type $termType
  354. * @param object ScheduleItem[] $schedule
  355. *
  356. * @return object Term
  357. *
  358. * @throws object CourseManagementException An exception
  359. * with one of the following messages defined in
  360. * org.osid.coursemanagement.CourseManagementException may be
  361. * thrown: {@link }
  362. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  363. * OPERATION_FAILED}, {@link }
  364. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  365. * PERMISSION_DENIED}, {@link }
  366. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  367. * CONFIGURATION_ERROR}, {@link }
  368. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  369. * UNIMPLEMENTED}, {@link }
  370. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  371. * NULL_ARGUMENT}, {@link }
  372. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_TYPE
  373. * UNKNOWN_TYPE}
  374. *
  375. * @access public
  376. */
  377. function createTerm ( $termType, $schedule ) {
  378. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  379. }
  380.  
  381. /**
  382. * Delete a Term by unique Id.
  383. *
  384. * @param object Id $termId
  385. *
  386. * @throws object CourseManagementException An exception
  387. * with one of the following messages defined in
  388. * org.osid.coursemanagement.CourseManagementException may be
  389. * thrown: {@link }
  390. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  391. * OPERATION_FAILED}, {@link }
  392. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  393. * PERMISSION_DENIED}, {@link }
  394. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  395. * CONFIGURATION_ERROR}, {@link }
  396. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  397. * UNIMPLEMENTED}, {@link }
  398. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  399. * NULL_ARGUMENT}, {@link }
  400. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  401. * UNKNOWN_ID}
  402. *
  403. * @access public
  404. */
  405. function deleteTerm ( $termId ) {
  406. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  407. }
  408.  
  409. /**
  410. * Get a Term by unique Id.
  411. *
  412. * @param object Id $termId
  413. *
  414. * @return object Term
  415. *
  416. * @throws object CourseManagementException An exception
  417. * with one of the following messages defined in
  418. * org.osid.coursemanagement.CourseManagementException may be
  419. * thrown: {@link }
  420. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  421. * OPERATION_FAILED}, {@link }
  422. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  423. * PERMISSION_DENIED}, {@link }
  424. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  425. * CONFIGURATION_ERROR}, {@link }
  426. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  427. * UNIMPLEMENTED}, {@link }
  428. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  429. * NULL_ARGUMENT}, {@link }
  430. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  431. * UNKNOWN_ID}
  432. *
  433. * @access public
  434. */
  435. function getTerm ( $termId ) {
  436. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  437. }
  438.  
  439. /**
  440. * Get all the Terms.
  441. *
  442. * @return object TermIterator
  443. *
  444. * @throws object CourseManagementException An exception
  445. * with one of the following messages defined in
  446. * org.osid.coursemanagement.CourseManagementException may be
  447. * thrown: {@link }
  448. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  449. * OPERATION_FAILED}, {@link }
  450. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  451. * PERMISSION_DENIED}, {@link }
  452. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  453. * CONFIGURATION_ERROR}, {@link }
  454. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  455. * UNIMPLEMENTED}
  456. *
  457. * @access public
  458. */
  459. function getTerms () {
  460. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  461. }
  462.  
  463. /**
  464. * Get all the Terms that contain this date.
  465. *
  466. * @param int $date
  467. *
  468. * @return object TermIterator
  469. *
  470. * @throws object CourseManagementException An exception
  471. * with one of the following messages defined in
  472. * org.osid.coursemanagement.CourseManagementException may be
  473. * thrown: {@link }
  474. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  475. * OPERATION_FAILED}, {@link }
  476. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  477. * PERMISSION_DENIED}, {@link }
  478. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  479. * CONFIGURATION_ERROR}, {@link }
  480. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  481. * UNIMPLEMENTED}
  482. *
  483. * @access public
  484. */
  485. function getTermsByDate ( $date ) {
  486. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  487. }
  488.  
  489. /**
  490. * Get all the defined Course Types. These Types are meaningful to the
  491. * implementation and applications and are not specified by the OSID.
  492. *
  493. * @return object TypeIterator
  494. *
  495. * @throws object CourseManagementException An exception
  496. * with one of the following messages defined in
  497. * org.osid.coursemanagement.CourseManagementException may be
  498. * thrown: {@link }
  499. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  500. * OPERATION_FAILED}, {@link }
  501. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  502. * PERMISSION_DENIED}, {@link }
  503. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  504. * CONFIGURATION_ERROR}, {@link }
  505. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  506. * UNIMPLEMENTED}
  507. *
  508. * @access public
  509. */
  510. function getCourseTypes () {
  511. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  512. }
  513.  
  514. /**
  515. * Get all the defined Canonical Course Status Types. These Types are
  516. * meaningful to the implementation and applications and are not specified
  517. * by the OSID.
  518. *
  519. * @return object TypeIterator
  520. *
  521. * @throws object CourseManagementException An exception
  522. * with one of the following messages defined in
  523. * org.osid.coursemanagement.CourseManagementException may be
  524. * thrown: {@link }
  525. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  526. * OPERATION_FAILED}, {@link }
  527. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  528. * PERMISSION_DENIED}, {@link }
  529. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  530. * CONFIGURATION_ERROR}, {@link }
  531. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  532. * UNIMPLEMENTED}
  533. *
  534. * @access public
  535. */
  536. function getCourseStatusTypes () {
  537. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  538. }
  539.  
  540. /**
  541. * Get all the defined Course Offering Status Types. These Types are
  542. * meaningful to the implementation and applications and are not specified
  543. * by the OSID.
  544. *
  545. * @return object TypeIterator
  546. *
  547. * @throws object CourseManagementException An exception
  548. * with one of the following messages defined in
  549. * org.osid.coursemanagement.CourseManagementException may be
  550. * thrown: {@link }
  551. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  552. * OPERATION_FAILED}, {@link }
  553. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  554. * PERMISSION_DENIED}, {@link }
  555. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  556. * CONFIGURATION_ERROR}, {@link }
  557. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  558. * UNIMPLEMENTED}
  559. *
  560. * @access public
  561. */
  562. function getOfferingStatusTypes () {
  563. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  564. }
  565.  
  566. /**
  567. * Get all the defined Course Section Status Types. These Types are
  568. * meaningful to the implementation and applications and are not specified
  569. * by the OSID.
  570. *
  571. * @return object TypeIterator
  572. *
  573. * @throws object CourseManagementException An exception
  574. * with one of the following messages defined in
  575. * org.osid.coursemanagement.CourseManagementException may be
  576. * thrown: {@link }
  577. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  578. * OPERATION_FAILED}, {@link }
  579. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  580. * PERMISSION_DENIED}, {@link }
  581. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  582. * CONFIGURATION_ERROR}, {@link }
  583. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  584. * UNIMPLEMENTED}
  585. *
  586. * @access public
  587. */
  588. function getSectionStatusTypes () {
  589. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  590. }
  591.  
  592. /**
  593. * Get all the defined Offering Types. These Types are meaningful to the
  594. * implementation and applications and are not specified by the OSID.
  595. *
  596. * @return object TypeIterator
  597. *
  598. * @throws object CourseManagementException An exception
  599. * with one of the following messages defined in
  600. * org.osid.coursemanagement.CourseManagementException may be
  601. * thrown: {@link }
  602. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  603. * OPERATION_FAILED}, {@link }
  604. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  605. * PERMISSION_DENIED}, {@link }
  606. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  607. * CONFIGURATION_ERROR}, {@link }
  608. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  609. * UNIMPLEMENTED}
  610. *
  611. * @access public
  612. */
  613. function getOfferingTypes () {
  614. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  615. }
  616.  
  617. /**
  618. * Get all the defined Section Types. These Types are meaningful to the
  619. * implementation and applications and are not specified by the OSID.
  620. *
  621. * @return object TypeIterator
  622. *
  623. * @throws object CourseManagementException An exception
  624. * with one of the following messages defined in
  625. * org.osid.coursemanagement.CourseManagementException may be
  626. * thrown: {@link }
  627. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  628. * OPERATION_FAILED}, {@link }
  629. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  630. * PERMISSION_DENIED}, {@link }
  631. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  632. * CONFIGURATION_ERROR}, {@link }
  633. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  634. * UNIMPLEMENTED}
  635. *
  636. * @access public
  637. */
  638. function getSectionTypes () {
  639. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  640. }
  641.  
  642. /**
  643. * Get all the defined Enrollment Status Types. These Types are meaningful
  644. * to the implementation and applications and are not specified by the
  645. * OSID.
  646. *
  647. * @return object TypeIterator
  648. *
  649. * @throws object CourseManagementException An exception
  650. * with one of the following messages defined in
  651. * org.osid.coursemanagement.CourseManagementException may be
  652. * thrown: {@link }
  653. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  654. * OPERATION_FAILED}, {@link }
  655. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  656. * PERMISSION_DENIED}, {@link }
  657. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  658. * CONFIGURATION_ERROR}, {@link }
  659. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  660. * UNIMPLEMENTED}
  661. *
  662. * @access public
  663. */
  664. function getEnrollmentStatusTypes () {
  665. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  666. }
  667.  
  668. /**
  669. * Get all the defined CourseGrade Types. GradeTypes are defined in the
  670. * grading OSID. These Types are meaningful to the implementation and
  671. * applications and are not specified by the grading OSID.
  672. *
  673. * @return object TypeIterator
  674. *
  675. * @throws object CourseManagementException An exception
  676. * with one of the following messages defined in
  677. * org.osid.coursemanagement.CourseManagementException may be
  678. * thrown: {@link }
  679. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  680. * OPERATION_FAILED}, {@link }
  681. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  682. * PERMISSION_DENIED}, {@link }
  683. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  684. * CONFIGURATION_ERROR}, {@link }
  685. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  686. * UNIMPLEMENTED}
  687. *
  688. * @access public
  689. */
  690. function getCourseGradeTypes () {
  691. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  692. }
  693.  
  694. /**
  695. * Get all the TermTypes.
  696. *
  697. * @return object TypeIterator
  698. *
  699. * @throws object CourseManagementException An exception
  700. * with one of the following messages defined in
  701. * org.osid.coursemanagement.CourseManagementException may be
  702. * thrown: {@link }
  703. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  704. * OPERATION_FAILED}, {@link }
  705. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  706. * PERMISSION_DENIED}, {@link }
  707. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  708. * CONFIGURATION_ERROR}, {@link }
  709. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  710. * UNIMPLEMENTED}
  711. *
  712. * @access public
  713. */
  714. function getTermTypes () {
  715. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  716. }
  717.  
  718. /**
  719. * Create a CourseGradeRecord for the specified Agent (student),
  720. * CourseOffering, CourseGradeType, and CourseGrade. Note that the intent
  721. * is that this is a summative grade.
  722. *
  723. * @param object Id $agentId
  724. * @param object Id $courseOfferingId
  725. * @param object Type $courseGradeType
  726. * @param object mixed $courseGrade (original type: java.io.Serializable)
  727. *
  728. * @return object CourseGradeRecord
  729. *
  730. * @throws object CourseManagementException An exception
  731. * with one of the following messages defined in
  732. * org.osid.coursemanagement.CourseManagementException may be
  733. * thrown: {@link }
  734. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  735. * OPERATION_FAILED}, {@link }
  736. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  737. * PERMISSION_DENIED}, {@link }
  738. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  739. * CONFIGURATION_ERROR}, {@link }
  740. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  741. * UNIMPLEMENTED}, {@link }
  742. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  743. * NULL_ARGUMENT}, {@link }
  744. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_TYPE
  745. * UNKNOWN_TYPE}, {@link }
  746. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  747. * UNKNOWN_ID}
  748. *
  749. * @access public
  750. */
  751. function createCourseGradeRecord ( $agentId, $courseOfferingId, $courseGradeType, $courseGrade ) {
  752. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  753. }
  754.  
  755. /**
  756. * Delete the specified CourseGradeRecord by Id. courseGradeRecordId
  757. *
  758. * @param object Id $courseGradeRecordId
  759. *
  760. * @throws object CourseManagementException An exception
  761. * with one of the following messages defined in
  762. * org.osid.coursemanagement.CourseManagementException may be
  763. * thrown: {@link }
  764. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  765. * OPERATION_FAILED}, {@link }
  766. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  767. * PERMISSION_DENIED}, {@link }
  768. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  769. * CONFIGURATION_ERROR}, {@link }
  770. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  771. * UNIMPLEMENTED}, {@link }
  772. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  773. * NULL_ARGUMENT}, {@link }
  774. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  775. * UNKNOWN_ID}
  776. *
  777. * @access public
  778. */
  779. function deleteCourseGradeRecord ( $courseGradeRecordId ) {
  780. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  781. }
  782.  
  783. /**
  784. * Get all the CourseGradeRecords, optionally including only those for a
  785. * specific Student, CourseOffering, or CourseGradeType.
  786. *
  787. * @param object Id $agentId
  788. * @param object Id $courseOfferingId
  789. * @param object Type $courseGradeType
  790. *
  791. * @return object CourseGradeRecordIterator
  792. *
  793. * @throws object CourseManagementException An exception
  794. * with one of the following messages defined in
  795. * org.osid.coursemanagement.CourseManagementException may be
  796. * thrown: {@link }
  797. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  798. * OPERATION_FAILED}, {@link }
  799. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  800. * PERMISSION_DENIED}, {@link }
  801. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  802. * CONFIGURATION_ERROR}, {@link }
  803. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  804. * UNIMPLEMENTED}, {@link }
  805. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  806. * NULL_ARGUMENT}, {@link }
  807. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_TYPE
  808. * UNKNOWN_TYPE}, {@link }
  809. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  810. * UNKNOWN_ID}
  811. *
  812. * @access public
  813. */
  814. function getCourseGradeRecords ( $agentId, $courseOfferingId, $courseGradeType ) {
  815. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  816. }
  817.  
  818. /**
  819. * Create a CourseGroup of a particular CourseGroupType. CourseGroups can
  820. * be used to model prerequisites, corequisites, majors, minors,
  821. * sequences, etc.
  822. *
  823. * @param object Type $courseGroupType
  824. *
  825. * @return object CourseGroup
  826. *
  827. * @throws object CourseManagementException An exception
  828. * with one of the following messages defined in
  829. * org.osid.coursemanagement.CourseManagementException may be
  830. * thrown: {@link }
  831. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  832. * OPERATION_FAILED}, {@link }
  833. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  834. * PERMISSION_DENIED}, {@link }
  835. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  836. * CONFIGURATION_ERROR}, {@link }
  837. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  838. * UNIMPLEMENTED}, {@link }
  839. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  840. * NULL_ARGUMENT}, {@link }
  841. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_TYPE
  842. * UNKNOWN_TYPE}
  843. *
  844. * @access public
  845. */
  846. function createCourseGroup ( $courseGroupType ) {
  847. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  848. }
  849.  
  850. /**
  851. * Delete a CourseGroup by unique Id.
  852. *
  853. * @param object Id $courseGroupId
  854. *
  855. * @throws object CourseManagementException An exception
  856. * with one of the following messages defined in
  857. * org.osid.coursemanagement.CourseManagementException may be
  858. * thrown: {@link }
  859. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  860. * OPERATION_FAILED}, {@link }
  861. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  862. * PERMISSION_DENIED}, {@link }
  863. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  864. * CONFIGURATION_ERROR}, {@link }
  865. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  866. * UNIMPLEMENTED}, {@link }
  867. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  868. * NULL_ARGUMENT}, {@link }
  869. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  870. * UNKNOWN_ID}
  871. *
  872. * @access public
  873. */
  874. function deleteCourseGroup ( $courseGroupId ) {
  875. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  876. }
  877.  
  878. /**
  879. * Get a CourseGroup by unique Id.
  880. *
  881. * @param object Id $courseGroupId
  882. *
  883. * @return object CourseGroup
  884. *
  885. * @throws object CourseManagementException An exception
  886. * with one of the following messages defined in
  887. * org.osid.coursemanagement.CourseManagementException may be
  888. * thrown: {@link }
  889. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  890. * OPERATION_FAILED}, {@link }
  891. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  892. * PERMISSION_DENIED}, {@link }
  893. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  894. * CONFIGURATION_ERROR}, {@link }
  895. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  896. * UNIMPLEMENTED}, {@link }
  897. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  898. * NULL_ARGUMENT}, {@link }
  899. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  900. * UNKNOWN_ID}
  901. *
  902. * @access public
  903. */
  904. function getCourseGroup ( $courseGroupId ) {
  905. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  906. }
  907.  
  908. /**
  909. * Get all the CourseGroups of a given CourseGroupType.
  910. *
  911. * @param object Type $courseGroupType
  912. *
  913. * @return object CourseGroupIterator
  914. *
  915. * @throws object CourseManagementException An exception
  916. * with one of the following messages defined in
  917. * org.osid.coursemanagement.CourseManagementException may be
  918. * thrown: {@link }
  919. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  920. * OPERATION_FAILED}, {@link }
  921. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  922. * PERMISSION_DENIED}, {@link }
  923. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  924. * CONFIGURATION_ERROR}, {@link }
  925. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  926. * UNIMPLEMENTED}, {@link }
  927. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  928. * NULL_ARGUMENT}, {@link }
  929. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_TYPE
  930. * UNKNOWN_TYPE}
  931. *
  932. * @access public
  933. */
  934. function getCourseGroupsByType ( $courseGroupType ) {
  935. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  936. }
  937.  
  938. /**
  939. * Get all the CourseGroups that contain the specified CanoncialCourse.
  940. *
  941. * @param object Id $canonicalCourseId
  942. *
  943. * @return object CourseGroupIterator
  944. *
  945. * @throws object CourseManagementException An exception
  946. * with one of the following messages defined in
  947. * org.osid.coursemanagement.CourseManagementException may be
  948. * thrown: {@link }
  949. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  950. * OPERATION_FAILED}, {@link }
  951. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  952. * PERMISSION_DENIED}, {@link }
  953. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  954. * CONFIGURATION_ERROR}, {@link }
  955. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  956. * UNIMPLEMENTED}, {@link }
  957. * org.osid.coursemanagement.CourseManagementException#NULL_ARGUMENT
  958. * NULL_ARGUMENT}, {@link }
  959. * org.osid.coursemanagement.CourseManagementException#UNKNOWN_ID
  960. * UNKNOWN_ID}
  961. *
  962. * @access public
  963. */
  964. function getCourseGroups ( $canonicalCourseId ) {
  965. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  966. }
  967.  
  968. /**
  969. * Get all the CourseGroupTypes supported by this implementation.
  970. *
  971. * @return object TypeIterator
  972. *
  973. * @throws object CourseManagementException An exception
  974. * with one of the following messages defined in
  975. * org.osid.coursemanagement.CourseManagementException may be
  976. * thrown: {@link }
  977. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  978. * OPERATION_FAILED}, {@link }
  979. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  980. * PERMISSION_DENIED}, {@link }
  981. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  982. * CONFIGURATION_ERROR}, {@link }
  983. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  984. * UNIMPLEMENTED}
  985. *
  986. * @access public
  987. */
  988. function getCourseGroupTypes () {
  989. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  990. }
  991.  
  992. /**
  993. * This method indicates whether this implementation supports
  994. * CourseManagementManager methods: createCanonicalCourse,
  995. * createCourseGradeRecord, createCourseGroup, createTerm,
  996. * deleteCanonicalCourse, deleteCourseGradeRecord, deleteCourseGroup,
  997. * deleteTerm. CanonicalCourse methods: addEquivalentCourse, addTopic,
  998. * createCanonicalCourse, createCourseOffering, deleteCourseOffering.
  999. * CourseGroup methods: addCourse, removeCourse, updateDisplayName.
  1000. * CourseOffering methods: addAsset, addStudent, createCourseSection,
  1001. * deleteCourseSection, removeAsset, removeStudent, updateCourseGradeType,
  1002. * updateDescription, updateDisplayName, updateStatus, updateTitle.
  1003. * CourseSection methods: addAsset, addStudent, changeStudent.
  1004. *
  1005. * @return boolean
  1006. *
  1007. * @throws object CourseManagementException An exception
  1008. * with one of the following messages defined in
  1009. * org.osid.coursemanagement.CourseManagementException may be
  1010. * thrown: {@link }
  1011. * org.osid.coursemanagement.CourseManagementException#OPERATION_FAILED
  1012. * OPERATION_FAILED}, {@link }
  1013. * org.osid.coursemanagement.CourseManagementException#PERMISSION_DENIED
  1014. * PERMISSION_DENIED}, {@link }
  1015. * org.osid.coursemanagement.CourseManagementException#CONFIGURATION_ERROR
  1016. * CONFIGURATION_ERROR}, {@link }
  1017. * org.osid.coursemanagement.CourseManagementException#UNIMPLEMENTED
  1018. * UNIMPLEMENTED}
  1019. *
  1020. * @access public
  1021. */
  1022. function supportsUpdate () {
  1023. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  1024. }
  1025. }
  1026.  
  1027. ?>

Documentation generated on Wed, 19 Sep 2007 10:22:18 -0400 by phpDocumentor 1.3.0RC3