Source for file Step.php

Documentation is available at Step.php

  1. <?php
  2. /**
  3. * Step is a pivotal element in a Process. Processes are made up of Steps. A
  4. * Step is composed of links to other Steps, and has InputConditions and
  5. * OutputStates.
  6. *
  7. * <p>
  8. * OSID Version: 2.0
  9. * </p>
  10. *
  11. * <p>
  12. * Licensed under the {@link org.osid.SidImplementationLicenseMIT MIT}
  13. * O.K.I&#46; OSID Definition License}.
  14. * </p>
  15. *
  16. * @package org.osid.workflow
  17. */
  18. class Step
  19. {
  20. /**
  21. * Update the DisplayName of this Step.
  22. *
  23. * @param string $displayName
  24. *
  25. * @throws object WorkflowException An exception with one of the
  26. * following messages defined in
  27. * org.osid.workflow.WorkflowException may be thrown: {@link }
  28. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  29. * OPERATION_FAILED}, {@link }
  30. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  31. * PERMISSION_DENIED}, {@link }
  32. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  33. * CONFIGURATION_ERROR}, {@link }
  34. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  35. * UNIMPLEMENTED}, {@link }
  36. * org.osid.workflow.WorkflowException#NULL_ARGUMENT
  37. * NULL_ARGUMENT}
  38. *
  39. * @access public
  40. */
  41. function updateDisplayName ( $displayName ) {
  42. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  43. }
  44.  
  45. /**
  46. * Get the description of this Step.
  47. *
  48. * @param string $description
  49. *
  50. * @throws object WorkflowException An exception with one of the
  51. * following messages defined in
  52. * org.osid.workflow.WorkflowException may be thrown: {@link }
  53. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  54. * OPERATION_FAILED}, {@link }
  55. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  56. * PERMISSION_DENIED}, {@link }
  57. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  58. * CONFIGURATION_ERROR}, {@link }
  59. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  60. * UNIMPLEMENTED}, {@link }
  61. * org.osid.workflow.WorkflowException#NULL_ARGUMENT
  62. * NULL_ARGUMENT}
  63. *
  64. * @access public
  65. */
  66. function updateDescription ( $description ) {
  67. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  68. }
  69.  
  70. /**
  71. * Get the unique Id for this Step. The unique Id is set when the Step is
  72. * created by a Process.
  73. *
  74. * @return object Id
  75. *
  76. * @throws object WorkflowException An exception with one of the
  77. * following messages defined in
  78. * org.osid.workflow.WorkflowException may be thrown: {@link }
  79. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  80. * OPERATION_FAILED}, {@link }
  81. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  82. * PERMISSION_DENIED}, {@link }
  83. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  84. * CONFIGURATION_ERROR}, {@link }
  85. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  86. * UNIMPLEMENTED}
  87. *
  88. * @access public
  89. */
  90. function getId () {
  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 description of this Step.
  96. *
  97. * @return string
  98. *
  99. * @throws object WorkflowException An exception with one of the
  100. * following messages defined in
  101. * org.osid.workflow.WorkflowException may be thrown: {@link }
  102. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  103. * OPERATION_FAILED}, {@link }
  104. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  105. * PERMISSION_DENIED}, {@link }
  106. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  107. * CONFIGURATION_ERROR}, {@link }
  108. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  109. * UNIMPLEMENTED}
  110. *
  111. * @access public
  112. */
  113. function getDescription () {
  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 unique Id of the role associated with this Step.
  119. *
  120. * @return object Id
  121. *
  122. * @throws object WorkflowException An exception with one of the
  123. * following messages defined in
  124. * org.osid.workflow.WorkflowException may be thrown: {@link }
  125. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  126. * OPERATION_FAILED}, {@link }
  127. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  128. * PERMISSION_DENIED}, {@link }
  129. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  130. * CONFIGURATION_ERROR}, {@link }
  131. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  132. * UNIMPLEMENTED}
  133. *
  134. * @access public
  135. */
  136. function getRoleId () {
  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 DisplayName of this Step.
  142. *
  143. * @return string
  144. *
  145. * @throws object WorkflowException An exception with one of the
  146. * following messages defined in
  147. * org.osid.workflow.WorkflowException may be thrown: {@link }
  148. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  149. * OPERATION_FAILED}, {@link }
  150. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  151. * PERMISSION_DENIED}, {@link }
  152. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  153. * CONFIGURATION_ERROR}, {@link }
  154. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  155. * UNIMPLEMENTED}
  156. *
  157. * @access public
  158. */
  159. function getDisplayName () {
  160. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  161. }
  162.  
  163. /**
  164. * Update the unique Id of the role associate with this Step.
  165. *
  166. * @param object Id $roleId
  167. *
  168. * @throws object WorkflowException An exception with one of the
  169. * following messages defined in
  170. * org.osid.workflow.WorkflowException may be thrown: {@link }
  171. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  172. * OPERATION_FAILED}, {@link }
  173. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  174. * PERMISSION_DENIED}, {@link }
  175. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  176. * CONFIGURATION_ERROR}, {@link }
  177. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  178. * UNIMPLEMENTED}, {@link }
  179. * org.osid.workflow.WorkflowException#NULL_ARGUMENT
  180. * NULL_ARGUMENT}, {@link }
  181. * org.osid.workflow.WorkflowException#UNKNOWN_ID UNKNOWN_ID}
  182. *
  183. * @access public
  184. */
  185. function updateRoleId ( $roleId ) {
  186. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  187. }
  188.  
  189. /**
  190. * Returns true if this Step is the final one in the Process; false
  191. * otherwise.
  192. *
  193. * @return boolean
  194. *
  195. * @throws object WorkflowException An exception with one of the
  196. * following messages defined in
  197. * org.osid.workflow.WorkflowException may be thrown: {@link }
  198. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  199. * OPERATION_FAILED}, {@link }
  200. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  201. * PERMISSION_DENIED}, {@link }
  202. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  203. * CONFIGURATION_ERROR}, {@link }
  204. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  205. * UNIMPLEMENTED}
  206. *
  207. * @access public
  208. */
  209. function isTerminal () {
  210. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  211. }
  212.  
  213. /**
  214. * Returns true if this Step is the first one in the Process; false
  215. * otherwise.
  216. *
  217. * @return boolean
  218. *
  219. * @throws object WorkflowException An exception with one of the
  220. * following messages defined in
  221. * org.osid.workflow.WorkflowException may be thrown: {@link }
  222. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  223. * OPERATION_FAILED}, {@link }
  224. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  225. * PERMISSION_DENIED}, {@link }
  226. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  227. * CONFIGURATION_ERROR}, {@link }
  228. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  229. * UNIMPLEMENTED}
  230. *
  231. * @access public
  232. */
  233. function isInitial () {
  234. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  235. }
  236.  
  237. /**
  238. * Get all the immediate predecessor Steps for this Step.
  239. *
  240. * @return object StepIterator
  241. *
  242. * @throws object WorkflowException An exception with one of the
  243. * following messages defined in
  244. * org.osid.workflow.WorkflowException may be thrown: {@link }
  245. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  246. * OPERATION_FAILED}, {@link }
  247. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  248. * PERMISSION_DENIED}, {@link }
  249. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  250. * CONFIGURATION_ERROR}, {@link }
  251. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  252. * UNIMPLEMENTED}
  253. *
  254. * @access public
  255. */
  256. function getPredecessors () {
  257. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  258. }
  259.  
  260. /**
  261. * Get all the immediate successor Steps for this Step from among those
  262. * supported by the implementation.
  263. *
  264. * @return object StepIterator
  265. *
  266. * @throws object WorkflowException An exception with one of the
  267. * following messages defined in
  268. * org.osid.workflow.WorkflowException may be thrown: {@link }
  269. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  270. * OPERATION_FAILED}, {@link }
  271. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  272. * PERMISSION_DENIED}, {@link }
  273. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  274. * CONFIGURATION_ERROR}, {@link }
  275. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  276. * UNIMPLEMENTED}
  277. *
  278. * @access public
  279. */
  280. function getSuccessors () {
  281. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  282. }
  283.  
  284. /**
  285. * Get all the input conditions for this Step.
  286. *
  287. * @return object ExpressionIterator
  288. *
  289. * @throws object WorkflowException An exception with one of the
  290. * following messages defined in
  291. * org.osid.workflow.WorkflowException may be thrown: {@link }
  292. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  293. * OPERATION_FAILED}, {@link }
  294. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  295. * PERMISSION_DENIED}, {@link }
  296. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  297. * CONFIGURATION_ERROR}, {@link }
  298. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  299. * UNIMPLEMENTED}
  300. *
  301. * @access public
  302. */
  303. function getInputConditions () {
  304. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  305. }
  306.  
  307. /**
  308. * Define the possible input conditions for this Step.
  309. *
  310. * @param object Expression[] $inputConditions
  311. *
  312. * @throws object WorkflowException An exception with one of the
  313. * following messages defined in
  314. * org.osid.workflow.WorkflowException may be thrown: {@link }
  315. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  316. * OPERATION_FAILED}, {@link }
  317. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  318. * PERMISSION_DENIED}, {@link }
  319. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  320. * CONFIGURATION_ERROR}, {@link }
  321. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  322. * UNIMPLEMENTED}, {@link }
  323. * org.osid.workflow.WorkflowException#NULL_ARGUMENT
  324. * NULL_ARGUMENT}, {@link }
  325. * org.osid.workflow.WorkflowException#UNKNOWN_EXPRESSION
  326. * UNKNOWN_EXPRESSION}
  327. *
  328. * @access public
  329. */
  330. function updateInputConditions ( $inputConditions ) {
  331. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  332. }
  333.  
  334. /**
  335. * Define the possible output states for this Step from among those
  336. * supported by the implementation.
  337. *
  338. * @param string $outputStates
  339. *
  340. * @throws object WorkflowException An exception with one of the
  341. * following messages defined in
  342. * org.osid.workflow.WorkflowException may be thrown: {@link }
  343. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  344. * OPERATION_FAILED}, {@link }
  345. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  346. * PERMISSION_DENIED}, {@link }
  347. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  348. * CONFIGURATION_ERROR}, {@link }
  349. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  350. * UNIMPLEMENTED}, {@link }
  351. * org.osid.workflow.WorkflowException#NULL_ARGUMENT
  352. * NULL_ARGUMENT}, {@link }
  353. * org.osid.workflow.WorkflowException#UNKNOWN_OUTPUT_STATE
  354. * UNKNOWN_OUTPUT_STATE}
  355. *
  356. * @access public
  357. */
  358. function updateOutputStates ( $outputStates ) {
  359. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  360. }
  361.  
  362. /**
  363. * Get all the output states for this Step.
  364. *
  365. * @return object StringIterator
  366. *
  367. * @throws object WorkflowException An exception with one of the
  368. * following messages defined in
  369. * org.osid.workflow.WorkflowException may be thrown: {@link }
  370. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  371. * OPERATION_FAILED}, {@link }
  372. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  373. * PERMISSION_DENIED}, {@link }
  374. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  375. * CONFIGURATION_ERROR}, {@link }
  376. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  377. * UNIMPLEMENTED}
  378. *
  379. * @access public
  380. */
  381. function getOutputStates () {
  382. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  383. }
  384.  
  385. /**
  386. * Add a Step as an immediate predecessor of this Step. A Step cannot be
  387. * its own immediate predecessor, but looping is permitted.
  388. *
  389. * @param object Id $stepId
  390. *
  391. * @throws object WorkflowException An exception with one of the
  392. * following messages defined in
  393. * org.osid.workflow.WorkflowException may be thrown: {@link }
  394. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  395. * OPERATION_FAILED}, {@link }
  396. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  397. * PERMISSION_DENIED}, {@link }
  398. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  399. * CONFIGURATION_ERROR}, {@link }
  400. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  401. * UNIMPLEMENTED}, {@link }
  402. * org.osid.workflow.WorkflowException#NULL_ARGUMENT
  403. * NULL_ARGUMENT}, {@link }
  404. * org.osid.workflow.WorkflowException#UNKNOWN_ID UNKNOWN_ID},
  405. * {@link org.osid.workflow.WorkflowException#INVALID_NETWORK}
  406. * INVALID_NETWORK}
  407. *
  408. * @access public
  409. */
  410. function addPredecessor ( $stepId ) {
  411. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  412. }
  413.  
  414. /**
  415. * Remove a Step that is an immediate predecessor of this Step.
  416. *
  417. * @param object Id $stepId
  418. *
  419. * @throws object WorkflowException An exception with one of the
  420. * following messages defined in
  421. * org.osid.workflow.WorkflowException may be thrown: {@link }
  422. * org.osid.workflow.WorkflowException#OPERATION_FAILED
  423. * OPERATION_FAILED}, {@link }
  424. * org.osid.workflow.WorkflowException#PERMISSION_DENIED
  425. * PERMISSION_DENIED}, {@link }
  426. * org.osid.workflow.WorkflowException#CONFIGURATION_ERROR
  427. * CONFIGURATION_ERROR}, {@link }
  428. * org.osid.workflow.WorkflowException#UNIMPLEMENTED
  429. * UNIMPLEMENTED}, {@link }
  430. * org.osid.workflow.WorkflowException#NULL_ARGUMENT
  431. * NULL_ARGUMENT}, {@link }
  432. * org.osid.workflow.WorkflowException#UNKNOWN_ID UNKNOWN_ID},
  433. * {@link org.osid.workflow.WorkflowException#INVALID_NETWORK}
  434. * INVALID_NETWORK}
  435. *
  436. * @access public
  437. */
  438. function removePredecessor ( $stepId ) {
  439. die ("Method <b>".__FUNCTION__."()</b> declared in interface<b> ".__CLASS__."</b> has not been overloaded in a child class.");
  440. }
  441. }
  442.  
  443. ?>

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