Source for file RecordStructure.php

Documentation is available at RecordStructure.php

  1. <?php
  2. /**
  3. * Each Asset has one of the AssetType supported by the Repository. There are
  4. * also zero or more RecordStructures required by the Repository for each
  5. * AssetType. RecordStructures provide structural information. The values for
  6. * a given Asset's RecordStructure are stored in a Record. RecordStructures
  7. * can contain sub-elements which are referred to as PartStructures. The
  8. * structure defined in the RecordStructure and its PartStructures is used in
  9. * for any Records for the Asset. Records have Parts which parallel
  10. * PartStructures.
  11. *
  12. * <p>
  13. * OSID Version: 2.0
  14. * </p>
  15. *
  16. * <p>
  17. * Licensed under the {@link org.osid.SidImplementationLicenseMIT MIT}
  18. * O.K.I&#46; OSID Definition License}.
  19. * </p>
  20. *
  21. * @package org.osid.repository
  22. */
  23. class RecordStructure
  24. {
  25. /**
  26. * Update the display name for this RecordStructure.
  27. *
  28. * @param string $displayName
  29. *
  30. * @throws object RepositoryException An exception with one of
  31. * the following messages defined in
  32. * org.osid.repository.RepositoryException may be thrown: {@link }
  33. * org.osid.repository.RepositoryException#OPERATION_FAILED
  34. * OPERATION_FAILED}, {@link }
  35. * org.osid.repository.RepositoryException#PERMISSION_DENIED
  36. * PERMISSION_DENIED}, {@link }
  37. * org.osid.repository.RepositoryException#CONFIGURATION_ERROR
  38. * CONFIGURATION_ERROR}, {@link }
  39. * org.osid.repository.RepositoryException#UNIMPLEMENTED
  40. * UNIMPLEMENTED}
  41. *
  42. * @access public
  43. */
  44. function updateDisplayName ( $displayName ) {
  45. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  46. }
  47.  
  48. /**
  49. * Get the display name for this RecordStructure.
  50. *
  51. * @return string
  52. *
  53. * @throws object RepositoryException An exception with one of
  54. * the following messages defined in
  55. * org.osid.repository.RepositoryException may be thrown: {@link }
  56. * org.osid.repository.RepositoryException#OPERATION_FAILED
  57. * OPERATION_FAILED}, {@link }
  58. * org.osid.repository.RepositoryException#PERMISSION_DENIED
  59. * PERMISSION_DENIED}, {@link }
  60. * org.osid.repository.RepositoryException#CONFIGURATION_ERROR
  61. * CONFIGURATION_ERROR}, {@link }
  62. * org.osid.repository.RepositoryException#UNIMPLEMENTED
  63. * UNIMPLEMENTED}
  64. *
  65. * @access public
  66. */
  67. function getDisplayName () {
  68. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  69. }
  70.  
  71. /**
  72. * Get the description for this RecordStructure.
  73. *
  74. * @return string
  75. *
  76. * @throws object RepositoryException An exception with one of
  77. * the following messages defined in
  78. * org.osid.repository.RepositoryException may be thrown: {@link }
  79. * org.osid.repository.RepositoryException#OPERATION_FAILED
  80. * OPERATION_FAILED}, {@link }
  81. * org.osid.repository.RepositoryException#PERMISSION_DENIED
  82. * PERMISSION_DENIED}, {@link }
  83. * org.osid.repository.RepositoryException#CONFIGURATION_ERROR
  84. * CONFIGURATION_ERROR}, {@link }
  85. * org.osid.repository.RepositoryException#UNIMPLEMENTED
  86. * UNIMPLEMENTED}
  87. *
  88. * @access public
  89. */
  90. function getDescription () {
  91. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  92. }
  93.  
  94. /**
  95. * Get the unique Id for this RecordStructure.
  96. *
  97. * @return object Id
  98. *
  99. * @throws object RepositoryException An exception with one of
  100. * the following messages defined in
  101. * org.osid.repository.RepositoryException may be thrown: {@link }
  102. * org.osid.repository.RepositoryException#OPERATION_FAILED
  103. * OPERATION_FAILED}, {@link }
  104. * org.osid.repository.RepositoryException#PERMISSION_DENIED
  105. * PERMISSION_DENIED}, {@link }
  106. * org.osid.repository.RepositoryException#CONFIGURATION_ERROR
  107. * CONFIGURATION_ERROR}, {@link }
  108. * org.osid.repository.RepositoryException#UNIMPLEMENTED
  109. * UNIMPLEMENTED}
  110. *
  111. * @access public
  112. */
  113. function getId () {
  114. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  115. }
  116.  
  117. /**
  118. * Get the Type for this RecordStructure.
  119. *
  120. * @return object Type
  121. *
  122. * @throws object RepositoryException An exception with one of
  123. * the following messages defined in
  124. * org.osid.repository.RepositoryException may be thrown: {@link }
  125. * org.osid.repository.RepositoryException#OPERATION_FAILED
  126. * OPERATION_FAILED}, {@link }
  127. * org.osid.repository.RepositoryException#PERMISSION_DENIED
  128. * PERMISSION_DENIED}, {@link }
  129. * org.osid.repository.RepositoryException#CONFIGURATION_ERROR
  130. * CONFIGURATION_ERROR}, {@link }
  131. * org.osid.repository.RepositoryException#UNIMPLEMENTED
  132. * UNIMPLEMENTED}
  133. *
  134. * @access public
  135. */
  136. function getType () {
  137. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  138. }
  139.  
  140. /**
  141. * Get the schema for this RecordStructure. The schema is defined by the
  142. * implementation, e.g. Dublin Core.
  143. *
  144. * @return string
  145. *
  146. * @throws object RepositoryException An exception with one of
  147. * the following messages defined in
  148. * org.osid.repository.RepositoryException may be thrown: {@link }
  149. * org.osid.repository.RepositoryException#OPERATION_FAILED
  150. * OPERATION_FAILED}, {@link }
  151. * org.osid.repository.RepositoryException#PERMISSION_DENIED
  152. * PERMISSION_DENIED}, {@link }
  153. * org.osid.repository.RepositoryException#CONFIGURATION_ERROR
  154. * CONFIGURATION_ERROR}, {@link }
  155. * org.osid.repository.RepositoryException#UNIMPLEMENTED
  156. * UNIMPLEMENTED}
  157. *
  158. * @access public
  159. */
  160. function getSchema () {
  161. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  162. }
  163.  
  164. /**
  165. * Get the format for this RecordStructure. The format is defined by the
  166. * implementation, e.g. XML.
  167. *
  168. * @return string
  169. *
  170. * @throws object RepositoryException An exception with one of
  171. * the following messages defined in
  172. * org.osid.repository.RepositoryException may be thrown: {@link }
  173. * org.osid.repository.RepositoryException#OPERATION_FAILED
  174. * OPERATION_FAILED}, {@link }
  175. * org.osid.repository.RepositoryException#PERMISSION_DENIED
  176. * PERMISSION_DENIED}, {@link }
  177. * org.osid.repository.RepositoryException#CONFIGURATION_ERROR
  178. * CONFIGURATION_ERROR}, {@link }
  179. * org.osid.repository.RepositoryException#UNIMPLEMENTED
  180. * UNIMPLEMENTED}
  181. *
  182. * @access public
  183. */
  184. function getFormat () {
  185. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  186. }
  187.  
  188. /**
  189. * Return true if this RecordStructure is repeatable; false otherwise.
  190. * This is determined by the implementation.
  191. *
  192. * @return boolean
  193. *
  194. * @throws object RepositoryException An exception with one of
  195. * the following messages defined in
  196. * org.osid.repository.RepositoryException may be thrown: {@link }
  197. * org.osid.repository.RepositoryException#OPERATION_FAILED
  198. * OPERATION_FAILED}, {@link }
  199. * org.osid.repository.RepositoryException#PERMISSION_DENIED
  200. * PERMISSION_DENIED}, {@link }
  201. * org.osid.repository.RepositoryException#CONFIGURATION_ERROR
  202. * CONFIGURATION_ERROR}, {@link }
  203. * org.osid.repository.RepositoryException#UNIMPLEMENTED
  204. * UNIMPLEMENTED}
  205. *
  206. * @access public
  207. */
  208. function isRepeatable () {
  209. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  210. }
  211.  
  212. /**
  213. * Get all the PartStructures in the RecordStructure. Iterators return a
  214. * set, one at a time.
  215. *
  216. * @return object PartStructureIterator
  217. *
  218. * @throws object RepositoryException An exception with one of
  219. * the following messages defined in
  220. * org.osid.repository.RepositoryException may be thrown: {@link }
  221. * org.osid.repository.RepositoryException#OPERATION_FAILED
  222. * OPERATION_FAILED}, {@link }
  223. * org.osid.repository.RepositoryException#PERMISSION_DENIED
  224. * PERMISSION_DENIED}, {@link }
  225. * org.osid.repository.RepositoryException#CONFIGURATION_ERROR
  226. * CONFIGURATION_ERROR}, {@link }
  227. * org.osid.repository.RepositoryException#UNIMPLEMENTED
  228. * UNIMPLEMENTED}
  229. *
  230. * @access public
  231. */
  232. function getPartStructures () {
  233. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  234. }
  235.  
  236. /**
  237. * Validate a Record against its RecordStructure. Return true if valid;
  238. * false otherwise. The status of the Asset holding this Record is not
  239. * changed through this method. The implementation may throw an Exception
  240. * for any validation failures and use the Exception's message to identify
  241. * specific causes.
  242. *
  243. * @param object Record $record
  244. *
  245. * @return boolean
  246. *
  247. * @throws object RepositoryException An exception with one of
  248. * the following messages defined in
  249. * org.osid.repository.RepositoryException may be thrown: {@link }
  250. * org.osid.repository.RepositoryException#OPERATION_FAILED
  251. * OPERATION_FAILED}, {@link }
  252. * org.osid.repository.RepositoryException#PERMISSION_DENIED
  253. * PERMISSION_DENIED}, {@link }
  254. * org.osid.repository.RepositoryException#CONFIGURATION_ERROR
  255. * CONFIGURATION_ERROR}, {@link }
  256. * org.osid.repository.RepositoryException#UNIMPLEMENTED
  257. * UNIMPLEMENTED}, {@link }
  258. * org.osid.repository.RepositoryException#NULL_ARGUMENT
  259. * NULL_ARGUMENT}
  260. *
  261. * @access public
  262. */
  263. function validateRecord ( $record ) {
  264. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  265. }
  266. }
  267.  
  268. ?>

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