Source for file GradingManager.php

Documentation is available at GradingManager.php

  1. <?php
  2. include_once(dirname(__FILE__)."/../OsidManager.php");
  3. /**
  4. * <p>
  5. * GradingManager handles creating and deleting:
  6. *
  7. * <ul>
  8. * <li>
  9. * GradableObject,
  10. * </li>
  11. * <li>
  12. * GradeRecord
  13. * </li>
  14. * </ul>
  15. *
  16. * and getting:
  17. *
  18. * <ul>
  19. * <li>
  20. * GradableObject,
  21. * </li>
  22. * <li>
  23. * GradeRecords,
  24. * </li>
  25. * <li>
  26. * various implementation Types.
  27. * </li>
  28. * </ul>
  29. * </p>
  30. *
  31. * <p>
  32. * All implementations of OsidManager (manager) provide methods for accessing
  33. * and manipulating the various objects defined in the OSID package. A manager
  34. * defines an implementation of an OSID. All other OSID objects come either
  35. * directly or indirectly from the manager. New instances of the OSID objects
  36. * are created either directly or indirectly by the manager. Because the OSID
  37. * objects are defined using interfaces, create methods must be used instead
  38. * of the new operator to create instances of the OSID objects. Create methods
  39. * are used both to instantiate and persist OSID objects. Using the
  40. * OsidManager class to define an OSID's implementation allows the application
  41. * to change OSID implementations by changing the OsidManager package name
  42. * used to load an implementation. Applications developed using managers
  43. * permit OSID implementation substitution without changing the application
  44. * source code. As with all managers, use the OsidLoader to load an
  45. * implementation of this interface.
  46. * </p>
  47. *
  48. * <p></p>
  49. *
  50. * <p>
  51. * OSID Version: 2.0
  52. * </p>
  53. *
  54. * <p>
  55. * Licensed under the {@link org.osid.SidImplementationLicenseMIT MIT}
  56. * O.K.I&#46; OSID Definition License}.
  57. * </p>
  58. *
  59. * @package org.osid.grading
  60. */
  61. class GradingManager
  62. extends OsidManager
  63. {
  64. /**
  65. * Create a new GradableObject which includes all the elements for grading
  66. * something for a CourseSection. The type of grade and other grade
  67. * characteristics are also specified.
  68. *
  69. * @param string $displayName
  70. * @param string $description
  71. * @param object Id $courseSectionId
  72. * @param object Id $externalReferenceId
  73. * @param object Type $gradeType
  74. * @param object Type $scoringDefinition
  75. * @param object Type $gradeScale
  76. * @param int $gradeWeight
  77. *
  78. * @return object GradableObject
  79. *
  80. * @throws object GradingException An exception with one of the
  81. * following messages defined in org.osid.grading.GradingException
  82. * may be thrown: {@link }
  83. * org.osid.grading.GradingException#OPERATION_FAILED
  84. * OPERATION_FAILED}, {@link }
  85. * org.osid.grading.GradingException#PERMISSION_DENIED
  86. * PERMISSION_DENIED}, {@link }
  87. * org.osid.grading.GradingException#CONFIGURATION_ERROR
  88. * CONFIGURATION_ERROR}, {@link }
  89. * org.osid.grading.GradingException#UNIMPLEMENTED UNIMPLEMENTED},
  90. * {@link org.osid.grading.GradingException#NULL_ARGUMENT}
  91. * NULL_ARGUMENT}, {@link }
  92. * org.osid.grading.GradingException#UNKNOWN_TYPE UNKNOWN_TYPE}
  93. *
  94. * @access public
  95. */
  96. function createGradableObject ( $displayName, $description, $courseSectionId, $externalReferenceId, $gradeType, $scoringDefinition, $gradeScale, $gradeWeight ) {
  97. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  98. }
  99.  
  100. /**
  101. * Delete a GradableObject.
  102. *
  103. * @param object Id $gradableObjectId
  104. *
  105. * @throws object GradingException An exception with one of the
  106. * following messages defined in org.osid.grading.GradingException
  107. * may be thrown: {@link }
  108. * org.osid.grading.GradingException#OPERATION_FAILED
  109. * OPERATION_FAILED}, {@link }
  110. * org.osid.grading.GradingException#PERMISSION_DENIED
  111. * PERMISSION_DENIED}, {@link }
  112. * org.osid.grading.GradingException#CONFIGURATION_ERROR
  113. * CONFIGURATION_ERROR}, {@link }
  114. * org.osid.grading.GradingException#UNIMPLEMENTED UNIMPLEMENTED},
  115. * {@link org.osid.grading.GradingException#NULL_ARGUMENT}
  116. * NULL_ARGUMENT}, {@link }
  117. * org.osid.grading.GradingException#UNKNOWN_ID UNKNOWN_ID}
  118. *
  119. * @access public
  120. */
  121. function deleteGradableObject ( $gradableObjectId ) {
  122. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  123. }
  124.  
  125. /**
  126. * Get a GradableObject by unique Id.
  127. *
  128. * @param object Id $gradableObjectId
  129. *
  130. * @return object GradableObject
  131. *
  132. * @throws object GradingException An exception with one of the
  133. * following messages defined in org.osid.grading.GradingException
  134. * may be thrown: {@link }
  135. * org.osid.grading.GradingException#OPERATION_FAILED
  136. * OPERATION_FAILED}, {@link }
  137. * org.osid.grading.GradingException#PERMISSION_DENIED
  138. * PERMISSION_DENIED}, {@link }
  139. * org.osid.grading.GradingException#CONFIGURATION_ERROR
  140. * CONFIGURATION_ERROR}, {@link }
  141. * org.osid.grading.GradingException#UNIMPLEMENTED UNIMPLEMENTED},
  142. * {@link org.osid.grading.GradingException#NULL_ARGUMENT}
  143. * NULL_ARGUMENT}, {@link }
  144. * org.osid.grading.GradingException#UNKNOWN_ID UNKNOWN_ID}
  145. *
  146. * @access public
  147. */
  148. function getGradableObject ( $gradableObjectId ) {
  149. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  150. }
  151.  
  152. /**
  153. * Get all the GradableObjects, optionally including only those for a
  154. * specific CourseSection or External Reference to what is being graded.
  155. * If any parameter is null, what is returned is not filtered by that
  156. * parameter.
  157. *
  158. * @param object Id $courseSectionId
  159. * @param object Id $externalReferenceId
  160. *
  161. * @return object GradableObjectIterator
  162. *
  163. * @throws object GradingException An exception with one of the
  164. * following messages defined in org.osid.grading.GradingException
  165. * may be thrown: {@link }
  166. * org.osid.grading.GradingException#OPERATION_FAILED
  167. * OPERATION_FAILED}, {@link }
  168. * org.osid.grading.GradingException#PERMISSION_DENIED
  169. * PERMISSION_DENIED}, {@link }
  170. * org.osid.grading.GradingException#CONFIGURATION_ERROR
  171. * CONFIGURATION_ERROR}, {@link }
  172. * org.osid.grading.GradingException#UNIMPLEMENTED UNIMPLEMENTED},
  173. * {@link org.osid.grading.GradingException#NULL_ARGUMENT}
  174. * NULL_ARGUMENT}, {@link }
  175. * org.osid.grading.GradingException#UNKNOWN_ID UNKNOWN_ID}
  176. *
  177. * @access public
  178. */
  179. function getGradableObjects ( $courseSectionId, $externalReferenceId ) {
  180. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  181. }
  182.  
  183. /**
  184. * Create a new GradeRecord for an Agent and with a Grade and
  185. * GradeRecordType. The GradeRecordType is they Type of GradeRecord not
  186. * the Type of Grade contained in it. GradeRecord Types might indicate a
  187. * mid-term, partial, or final grade while GradeTypes might be letter,
  188. * numeric, etc. The Agent in this context is not the person who took the
  189. * test nor, necessarily, the person who is grading. It is the person
  190. * whose "GradeBook" this is, for example the CourseSection instructor.
  191. *
  192. * @param object Id $gradableObjectId
  193. * @param object Id $agentId
  194. * @param object mixed $gradeValue (original type: java.io.Serializable)
  195. * @param object Type $GradeRecordType
  196. *
  197. * @return object GradeRecord
  198. *
  199. * @throws object GradingException An exception with one of the
  200. * following messages defined in org.osid.grading.GradingException
  201. * may be thrown: {@link }
  202. * org.osid.grading.GradingException#OPERATION_FAILED
  203. * OPERATION_FAILED}, {@link }
  204. * org.osid.grading.GradingException#PERMISSION_DENIED
  205. * PERMISSION_DENIED}, {@link }
  206. * org.osid.grading.GradingException#CONFIGURATION_ERROR
  207. * CONFIGURATION_ERROR}, {@link }
  208. * org.osid.grading.GradingException#UNIMPLEMENTED UNIMPLEMENTED},
  209. * {@link org.osid.grading.GradingException#NULL_ARGUMENT}
  210. * NULL_ARGUMENT}, {@link }
  211. * org.osid.grading.GradingException#UNKNOWN_ID UNKNOWN_ID},
  212. * {@link org.osid.grading.GradingException#UNKNOWN_TYPE}
  213. * UNKNOWN_TYPE}
  214. *
  215. * @access public
  216. */
  217. function createGradeRecord ( $gradableObjectId, $agentId, $gradeValue, $GradeRecordType ) {
  218. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  219. }
  220.  
  221. /**
  222. * Delete a GradableObject.
  223. *
  224. * @param object Id $gradableObjectId
  225. * @param object Id $agentId
  226. * @param object Type $GradeRecordType
  227. *
  228. * @throws object GradingException An exception with one of the
  229. * following messages defined in org.osid.grading.GradingException
  230. * may be thrown: {@link }
  231. * org.osid.grading.GradingException#OPERATION_FAILED
  232. * OPERATION_FAILED}, {@link }
  233. * org.osid.grading.GradingException#PERMISSION_DENIED
  234. * PERMISSION_DENIED}, {@link }
  235. * org.osid.grading.GradingException#CONFIGURATION_ERROR
  236. * CONFIGURATION_ERROR}, {@link }
  237. * org.osid.grading.GradingException#UNIMPLEMENTED UNIMPLEMENTED},
  238. * {@link org.osid.grading.GradingException#NULL_ARGUMENT}
  239. * NULL_ARGUMENT}, {@link }
  240. * org.osid.grading.GradingException#UNKNOWN_ID UNKNOWN_ID}
  241. *
  242. * @access public
  243. */
  244. function deleteGradeRecord ( $gradableObjectId, $agentId, $GradeRecordType ) {
  245. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  246. }
  247.  
  248. /**
  249. * Get all the GradeRecords, optionally including only those for a specific
  250. * CourseSection, GradableObject, External Reference to what is being
  251. * graded, GradeRecordType, or Agent. If any parameter is null, what is
  252. * returned is not filtered by that parameter. For example,
  253. * getGradeRecords(xyzCourseSectionId,null,null,null,null) returns all
  254. * GradeRecords for the xyzCourseSection; and
  255. * getGradeRecords(xyzCourseSectionId,null,null,myAgent,quizGradeRecordType)
  256. * returns all GradeRecords for quizzes taken by myAgent in the
  257. * xyzCourseSection.
  258. *
  259. * @param object Id $courseSectionId
  260. * @param object Id $externalReferenceId
  261. * @param object Id $gradableObjectId
  262. * @param object Id $agentId
  263. * @param object Type $GradeRecordType
  264. *
  265. * @return object GradeRecordIterator
  266. *
  267. * @throws object GradingException An exception with one of the
  268. * following messages defined in org.osid.grading.GradingException
  269. * may be thrown: {@link }
  270. * org.osid.grading.GradingException#OPERATION_FAILED
  271. * OPERATION_FAILED}, {@link }
  272. * org.osid.grading.GradingException#PERMISSION_DENIED
  273. * PERMISSION_DENIED}, {@link }
  274. * org.osid.grading.GradingException#CONFIGURATION_ERROR
  275. * CONFIGURATION_ERROR}, {@link }
  276. * org.osid.grading.GradingException#UNIMPLEMENTED UNIMPLEMENTED},
  277. * {@link org.osid.grading.GradingException#NULL_ARGUMENT}
  278. * NULL_ARGUMENT}, {@link }
  279. * org.osid.grading.GradingException#UNKNOWN_ID UNKNOWN_ID},
  280. * {@link org.osid.grading.GradingException#UNKNOWN_TYPE}
  281. * UNKNOWN_TYPE}
  282. *
  283. * @access public
  284. */
  285. function getGradeRecords ( $courseSectionId, $externalReferenceId, $gradableObjectId, $agentId, $GradeRecordType ) {
  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 GradeRecordTypes.
  291. *
  292. * @return object TypeIterator
  293. *
  294. * @throws object GradingException An exception with one of the
  295. * following messages defined in org.osid.grading.GradingException
  296. * may be thrown: {@link }
  297. * org.osid.grading.GradingException#OPERATION_FAILED
  298. * OPERATION_FAILED}, {@link }
  299. * org.osid.grading.GradingException#PERMISSION_DENIED
  300. * PERMISSION_DENIED}, {@link }
  301. * org.osid.grading.GradingException#CONFIGURATION_ERROR
  302. * CONFIGURATION_ERROR}, {@link }
  303. * org.osid.grading.GradingException#UNIMPLEMENTED UNIMPLEMENTED}
  304. *
  305. * @access public
  306. */
  307. function getGradeRecordTypes () {
  308. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  309. }
  310.  
  311. /**
  312. * Get all GradeTypes.
  313. *
  314. * @return object TypeIterator
  315. *
  316. * @throws object GradingException An exception with one of the
  317. * following messages defined in org.osid.grading.GradingException
  318. * may be thrown: {@link }
  319. * org.osid.grading.GradingException#OPERATION_FAILED
  320. * OPERATION_FAILED}, {@link }
  321. * org.osid.grading.GradingException#PERMISSION_DENIED
  322. * PERMISSION_DENIED}, {@link }
  323. * org.osid.grading.GradingException#CONFIGURATION_ERROR
  324. * CONFIGURATION_ERROR}, {@link }
  325. * org.osid.grading.GradingException#UNIMPLEMENTED UNIMPLEMENTED}
  326. *
  327. * @access public
  328. */
  329. function getGradeTypes () {
  330. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  331. }
  332.  
  333. /**
  334. * Get all ScoringDefinitions.
  335. *
  336. * @return object TypeIterator
  337. *
  338. * @throws object GradingException An exception with one of the
  339. * following messages defined in org.osid.grading.GradingException
  340. * may be thrown: {@link }
  341. * org.osid.grading.GradingException#OPERATION_FAILED
  342. * OPERATION_FAILED}, {@link }
  343. * org.osid.grading.GradingException#PERMISSION_DENIED
  344. * PERMISSION_DENIED}, {@link }
  345. * org.osid.grading.GradingException#CONFIGURATION_ERROR
  346. * CONFIGURATION_ERROR}, {@link }
  347. * org.osid.grading.GradingException#UNIMPLEMENTED UNIMPLEMENTED}
  348. *
  349. * @access public
  350. */
  351. function getScoringDefinitions () {
  352. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  353. }
  354.  
  355. /**
  356. * Get all GradeScales.
  357. *
  358. * @return object TypeIterator
  359. *
  360. * @throws object GradingException An exception with one of the
  361. * following messages defined in org.osid.grading.GradingException
  362. * may be thrown: {@link }
  363. * org.osid.grading.GradingException#OPERATION_FAILED
  364. * OPERATION_FAILED}, {@link }
  365. * org.osid.grading.GradingException#PERMISSION_DENIED
  366. * PERMISSION_DENIED}, {@link }
  367. * org.osid.grading.GradingException#CONFIGURATION_ERROR
  368. * CONFIGURATION_ERROR}, {@link }
  369. * org.osid.grading.GradingException#UNIMPLEMENTED UNIMPLEMENTED}
  370. *
  371. * @access public
  372. */
  373. function getGradeScales () {
  374. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  375. }
  376. }
  377.  
  378. ?>

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