taskjuggler 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. data/CHANGELOG +1144 -2047
  2. data/README +1 -1
  3. data/Rakefile +6 -6
  4. data/data/css/tjmanual.css +20 -0
  5. data/data/css/tjreport.css +7 -6
  6. data/doc/AppConfig.html +136 -130
  7. data/doc/Arguments.html +46 -40
  8. data/doc/CHANGELOG.html +1162 -2057
  9. data/doc/COPYING.html +8 -2
  10. data/doc/Object.html +205 -199
  11. data/doc/README.html +9 -3
  12. data/doc/RuntimeConfig.html +75 -69
  13. data/doc/String.html +69 -63
  14. data/doc/TaskJuggler.html +350 -291
  15. data/doc/TaskJuggler/Account.html +26 -20
  16. data/doc/TaskJuggler/AccountAttribute.html +24 -18
  17. data/doc/TaskJuggler/AccountScenario.html +24 -18
  18. data/doc/TaskJuggler/Allocation.html +74 -68
  19. data/doc/TaskJuggler/AllocationAttribute.html +54 -48
  20. data/doc/TaskJuggler/AttributeBase.html +172 -93
  21. data/doc/TaskJuggler/AttributeDefinition.html +22 -16
  22. data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
  23. data/doc/TaskJuggler/BatchProcessor.html +263 -257
  24. data/doc/TaskJuggler/Booking.html +44 -38
  25. data/doc/TaskJuggler/BookingListAttribute.html +25 -21
  26. data/doc/TaskJuggler/BooleanAttribute.html +24 -18
  27. data/doc/TaskJuggler/CSVFile.html +193 -187
  28. data/doc/TaskJuggler/CellSettingPattern.html +13 -7
  29. data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
  30. data/doc/TaskJuggler/Charge.html +49 -43
  31. data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
  32. data/doc/TaskJuggler/ChargeSet.html +94 -88
  33. data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
  34. data/doc/TaskJuggler/CollisionDetector.html +142 -136
  35. data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
  36. data/doc/TaskJuggler/ColumnTable.html +50 -44
  37. data/doc/TaskJuggler/Daemon.html +71 -50
  38. data/doc/TaskJuggler/DataCache.html +110 -58
  39. data/doc/TaskJuggler/DataCacheEntry.html +22 -16
  40. data/doc/TaskJuggler/DateAttribute.html +24 -18
  41. data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
  42. data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
  43. data/doc/TaskJuggler/DurationAttribute.html +25 -19
  44. data/doc/TaskJuggler/FileList.html +25 -19
  45. data/doc/TaskJuggler/FileRecord.html +17 -11
  46. data/doc/TaskJuggler/FixnumAttribute.html +16 -10
  47. data/doc/TaskJuggler/FlagListAttribute.html +25 -21
  48. data/doc/TaskJuggler/FloatAttribute.html +20 -14
  49. data/doc/TaskJuggler/FormatListAttribute.html +17 -11
  50. data/doc/TaskJuggler/GanttChart.html +242 -236
  51. data/doc/TaskJuggler/GanttContainer.html +71 -67
  52. data/doc/TaskJuggler/GanttHeader.html +113 -107
  53. data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
  54. data/doc/TaskJuggler/GanttLine.html +217 -210
  55. data/doc/TaskJuggler/GanttLoadStack.html +89 -83
  56. data/doc/TaskJuggler/GanttMilestone.html +11 -6
  57. data/doc/TaskJuggler/GanttRouter.html +194 -186
  58. data/doc/TaskJuggler/GanttTaskBar.html +41 -34
  59. data/doc/TaskJuggler/HTMLDocument.html +52 -46
  60. data/doc/TaskJuggler/HTMLGraphics.html +58 -52
  61. data/doc/TaskJuggler/Interval.html +90 -84
  62. data/doc/TaskJuggler/IntervalList.html +777 -0
  63. data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
  64. data/doc/TaskJuggler/JobInfo.html +36 -30
  65. data/doc/TaskJuggler/Journal.html +188 -177
  66. data/doc/TaskJuggler/JournalEntry.html +36 -30
  67. data/doc/TaskJuggler/JournalEntryList.html +88 -82
  68. data/doc/TaskJuggler/KeywordArray.html +12 -6
  69. data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
  70. data/doc/TaskJuggler/Limits.html +111 -105
  71. data/doc/TaskJuggler/Limits/Limit.html +71 -65
  72. data/doc/TaskJuggler/LimitsAttribute.html +21 -15
  73. data/doc/TaskJuggler/ListAttributeBase.html +16 -10
  74. data/doc/TaskJuggler/Log.html +111 -105
  75. data/doc/TaskJuggler/LogFile.html +54 -48
  76. data/doc/TaskJuggler/LogicalAttribute.html +35 -29
  77. data/doc/TaskJuggler/LogicalExpression.html +32 -26
  78. data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
  79. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
  80. data/doc/TaskJuggler/LogicalFlag.html +24 -18
  81. data/doc/TaskJuggler/LogicalFunction.html +164 -158
  82. data/doc/TaskJuggler/LogicalOperation.html +138 -132
  83. data/doc/TaskJuggler/Macro.html +14 -8
  84. data/doc/TaskJuggler/MacroTable.html +42 -36
  85. data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
  86. data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
  87. data/doc/TaskJuggler/Message.html +56 -50
  88. data/doc/TaskJuggler/MessageHandler.html +73 -67
  89. data/doc/TaskJuggler/Navigator.html +92 -86
  90. data/doc/TaskJuggler/NavigatorElement.html +88 -82
  91. data/doc/TaskJuggler/NikuProject.html +15 -9
  92. data/doc/TaskJuggler/NikuReport.html +405 -370
  93. data/doc/TaskJuggler/NikuResource.html +13 -7
  94. data/doc/TaskJuggler/NodeListAttribute.html +13 -9
  95. data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
  96. data/doc/TaskJuggler/ProcessIntercom.html +116 -110
  97. data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
  98. data/doc/TaskJuggler/Project.html +1064 -895
  99. data/doc/TaskJuggler/ProjectBroker.html +439 -366
  100. data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
  101. data/doc/TaskJuggler/ProjectFileParser.html +329 -319
  102. data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
  103. data/doc/TaskJuggler/ProjectRecord.html +66 -60
  104. data/doc/TaskJuggler/ProjectServer.html +287 -280
  105. data/doc/TaskJuggler/ProjectServerIface.html +43 -37
  106. data/doc/TaskJuggler/PropertyAttribute.html +16 -10
  107. data/doc/TaskJuggler/PropertyList.html +205 -199
  108. data/doc/TaskJuggler/PropertySet.html +264 -296
  109. data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
  110. data/doc/TaskJuggler/Query.html +309 -524
  111. data/doc/TaskJuggler/RTFHandlers.html +17 -11
  112. data/doc/TaskJuggler/RTFNavigator.html +33 -27
  113. data/doc/TaskJuggler/RTFQuery.html +135 -129
  114. data/doc/TaskJuggler/RTFReport.html +63 -57
  115. data/doc/TaskJuggler/RTFReportLink.html +55 -49
  116. data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
  117. data/doc/TaskJuggler/RealFormat.html +64 -58
  118. data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
  119. data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
  120. data/doc/TaskJuggler/Report.html +294 -249
  121. data/doc/TaskJuggler/ReportBase.html +229 -223
  122. data/doc/TaskJuggler/ReportContext.html +52 -46
  123. data/doc/TaskJuggler/ReportServer.html +143 -137
  124. data/doc/TaskJuggler/ReportServerIface.html +51 -43
  125. data/doc/TaskJuggler/ReportServerRecord.html +36 -30
  126. data/doc/TaskJuggler/ReportServlet.html +167 -140
  127. data/doc/TaskJuggler/ReportTable.html +137 -131
  128. data/doc/TaskJuggler/ReportTableCell.html +332 -292
  129. data/doc/TaskJuggler/ReportTableColumn.html +46 -40
  130. data/doc/TaskJuggler/ReportTableLegend.html +43 -38
  131. data/doc/TaskJuggler/ReportTableLine.html +66 -60
  132. data/doc/TaskJuggler/Resource.html +166 -160
  133. data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
  134. data/doc/TaskJuggler/ResourceListRE.html +47 -41
  135. data/doc/TaskJuggler/ResourceScenario.html +671 -644
  136. data/doc/TaskJuggler/RichText.html +51 -45
  137. data/doc/TaskJuggler/RichTextAttribute.html +28 -22
  138. data/doc/TaskJuggler/RichTextDocument.html +96 -90
  139. data/doc/TaskJuggler/RichTextElement.html +503 -497
  140. data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
  141. data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
  142. data/doc/TaskJuggler/RichTextImage.html +14 -8
  143. data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
  144. data/doc/TaskJuggler/RichTextParser.html +59 -53
  145. data/doc/TaskJuggler/RichTextScanner.html +184 -178
  146. data/doc/TaskJuggler/RichTextSnip.html +69 -63
  147. data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
  148. data/doc/TaskJuggler/Scenario.html +13 -7
  149. data/doc/TaskJuggler/ScenarioData.html +40 -34
  150. data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
  151. data/doc/TaskJuggler/Scoreboard.html +129 -107
  152. data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
  153. data/doc/TaskJuggler/SheetReceiver.html +333 -327
  154. data/doc/TaskJuggler/SheetSender.html +227 -221
  155. data/doc/TaskJuggler/Shift.html +26 -20
  156. data/doc/TaskJuggler/ShiftAssignment.html +45 -39
  157. data/doc/TaskJuggler/ShiftAssignments.html +178 -172
  158. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
  159. data/doc/TaskJuggler/ShiftScenario.html +29 -23
  160. data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
  161. data/doc/TaskJuggler/SortListAttribute.html +17 -13
  162. data/doc/TaskJuggler/SourceFileInfo.html +19 -13
  163. data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
  164. data/doc/TaskJuggler/StatusSheetReport.html +166 -159
  165. data/doc/TaskJuggler/StatusSheetSender.html +80 -74
  166. data/doc/TaskJuggler/StringAttribute.html +20 -14
  167. data/doc/TaskJuggler/SymbolAttribute.html +16 -10
  168. data/doc/TaskJuggler/SyntaxReference.html +231 -225
  169. data/doc/TaskJuggler/TOCEntry.html +46 -40
  170. data/doc/TaskJuggler/TSResourceRecord.html +15 -9
  171. data/doc/TaskJuggler/TSTaskRecord.html +16 -10
  172. data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
  173. data/doc/TaskJuggler/TableOfContents.html +28 -22
  174. data/doc/TaskJuggler/TableReport.html +906 -866
  175. data/doc/TaskJuggler/Task.html +99 -93
  176. data/doc/TaskJuggler/TaskDependency.html +24 -18
  177. data/doc/TaskJuggler/TaskListAttribute.html +29 -25
  178. data/doc/TaskJuggler/TaskListRE.html +46 -39
  179. data/doc/TaskJuggler/TaskScenario.html +2218 -1965
  180. data/doc/TaskJuggler/TextFormatter.html +154 -148
  181. data/doc/TaskJuggler/TextParser.html +362 -348
  182. data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
  183. data/doc/TaskJuggler/TextParser/Rule.html +147 -141
  184. data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
  185. data/doc/TaskJuggler/TextParser/State.html +88 -82
  186. data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
  187. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
  188. data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
  189. data/doc/TaskJuggler/TextReport.html +80 -74
  190. data/doc/TaskJuggler/TextScanner.html +284 -272
  191. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
  192. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
  193. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
  194. data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
  195. data/doc/TaskJuggler/TimeSheet.html +123 -117
  196. data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
  197. data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
  198. data/doc/TaskJuggler/TimeSheetReport.html +206 -199
  199. data/doc/TaskJuggler/TimeSheetSender.html +27 -21
  200. data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
  201. data/doc/TaskJuggler/TimeSheets.html +20 -14
  202. data/doc/TaskJuggler/Tj3AppBase.html +100 -94
  203. data/doc/TaskJuggler/Tj3Client.html +407 -483
  204. data/doc/TaskJuggler/Tj3Daemon.html +116 -107
  205. data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
  206. data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
  207. data/doc/TaskJuggler/Tj3SsSender.html +64 -58
  208. data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
  209. data/doc/TaskJuggler/Tj3TsSender.html +51 -45
  210. data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
  211. data/doc/TaskJuggler/TjException.html +13 -7
  212. data/doc/TaskJuggler/TjTime.html +444 -438
  213. data/doc/TaskJuggler/TjpExample.html +84 -78
  214. data/doc/TaskJuggler/TjpExportRE.html +356 -349
  215. data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
  216. data/doc/TaskJuggler/URLParameter.html +16 -10
  217. data/doc/TaskJuggler/UserManual.html +185 -179
  218. data/doc/TaskJuggler/VimSyntax.html +144 -138
  219. data/doc/TaskJuggler/WebServer.html +46 -39
  220. data/doc/TaskJuggler/WelcomePage.html +769 -0
  221. data/doc/TaskJuggler/WorkingHours.html +185 -179
  222. data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
  223. data/doc/TaskJuggler/XMLBlob.html +21 -15
  224. data/doc/TaskJuggler/XMLComment.html +17 -11
  225. data/doc/TaskJuggler/XMLDocument.html +33 -27
  226. data/doc/TaskJuggler/XMLElement.html +97 -91
  227. data/doc/TaskJuggler/XMLNamedText.html +13 -7
  228. data/doc/TaskJuggler/XMLText.html +32 -26
  229. data/doc/index.html +601 -563
  230. data/doc/lib/AccountScenario_rb.html +5 -3
  231. data/doc/lib/Account_rb.html +5 -3
  232. data/doc/lib/Allocation_rb.html +5 -3
  233. data/doc/lib/AppConfig_rb.html +5 -3
  234. data/doc/lib/AttributeBase_rb.html +5 -3
  235. data/doc/lib/AttributeDefinition_rb.html +5 -3
  236. data/doc/lib/Attributes_rb.html +5 -3
  237. data/doc/lib/BatchProcessor_rb.html +5 -3
  238. data/doc/lib/Booking_rb.html +5 -3
  239. data/doc/lib/ChargeSet_rb.html +5 -3
  240. data/doc/lib/Charge_rb.html +5 -3
  241. data/doc/lib/DataCache_rb.html +5 -3
  242. data/doc/lib/FileList_rb.html +5 -3
  243. data/doc/lib/HTMLDocument_rb.html +5 -3
  244. data/doc/lib/IntervalList_rb.html +69 -0
  245. data/doc/lib/Interval_rb.html +5 -3
  246. data/doc/lib/Journal_rb.html +5 -3
  247. data/doc/lib/KeywordArray_rb.html +5 -3
  248. data/doc/lib/KeywordDocumentation_rb.html +5 -3
  249. data/doc/lib/Limits_rb.html +5 -3
  250. data/doc/lib/LogFile_rb.html +5 -3
  251. data/doc/lib/Log_rb.html +5 -3
  252. data/doc/lib/LogicalExpression_rb.html +5 -3
  253. data/doc/lib/LogicalFunction_rb.html +5 -3
  254. data/doc/lib/LogicalOperation_rb.html +5 -3
  255. data/doc/lib/MacroTable_rb.html +5 -3
  256. data/doc/lib/MessageHandler_rb.html +5 -3
  257. data/doc/lib/ProjectFileParser_rb.html +5 -3
  258. data/doc/lib/ProjectFileScanner_rb.html +5 -3
  259. data/doc/lib/Project_rb.html +5 -3
  260. data/doc/lib/PropertyList_rb.html +5 -3
  261. data/doc/lib/PropertySet_rb.html +5 -3
  262. data/doc/lib/PropertyTreeNode_rb.html +5 -3
  263. data/doc/lib/Query_rb.html +5 -3
  264. data/doc/lib/RTFHandlers_rb.html +5 -3
  265. data/doc/lib/RTFNavigator_rb.html +5 -3
  266. data/doc/lib/RTFQuery_rb.html +5 -3
  267. data/doc/lib/RTFReportLink_rb.html +5 -3
  268. data/doc/lib/RTFReport_rb.html +5 -3
  269. data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
  270. data/doc/lib/RealFormat_rb.html +5 -3
  271. data/doc/lib/ResourceScenario_rb.html +5 -3
  272. data/doc/lib/Resource_rb.html +5 -3
  273. data/doc/lib/RichTextDocument_rb.html +5 -3
  274. data/doc/lib/RichTextElement_rb.html +5 -3
  275. data/doc/lib/RichTextFunctionExample_rb.html +5 -3
  276. data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
  277. data/doc/lib/RichTextParser_rb.html +5 -3
  278. data/doc/lib/RichTextScanner_rb.html +5 -3
  279. data/doc/lib/RichTextSnip_rb.html +5 -3
  280. data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
  281. data/doc/lib/RichText_rb.html +5 -3
  282. data/doc/lib/RuntimeConfig_rb.html +5 -3
  283. data/doc/lib/ScenarioData_rb.html +5 -3
  284. data/doc/lib/Scenario_rb.html +5 -3
  285. data/doc/lib/Scoreboard_rb.html +7 -3
  286. data/doc/lib/SheetHandlerBase_rb.html +5 -3
  287. data/doc/lib/SheetReceiver_rb.html +5 -3
  288. data/doc/lib/SheetSender_rb.html +5 -3
  289. data/doc/lib/ShiftAssignments_rb.html +5 -3
  290. data/doc/lib/ShiftScenario_rb.html +5 -3
  291. data/doc/lib/Shift_rb.html +5 -3
  292. data/doc/lib/SimpleQueryExpander_rb.html +5 -3
  293. data/doc/lib/SourceFileInfo_rb.html +5 -3
  294. data/doc/lib/StatusSheetReceiver_rb.html +5 -3
  295. data/doc/lib/StatusSheetSender_rb.html +5 -3
  296. data/doc/lib/SyntaxReference_rb.html +5 -3
  297. data/doc/lib/TOCEntry_rb.html +5 -3
  298. data/doc/lib/TableColumnDefinition_rb.html +5 -3
  299. data/doc/lib/TableOfContents_rb.html +5 -3
  300. data/doc/lib/TaskDependency_rb.html +5 -3
  301. data/doc/lib/TaskJuggler_rb.html +5 -3
  302. data/doc/lib/TaskScenario_rb.html +5 -3
  303. data/doc/lib/Task_rb.html +5 -3
  304. data/doc/lib/TextFormatter_rb.html +6 -4
  305. data/doc/lib/TextParser/Pattern_rb.html +5 -3
  306. data/doc/lib/TextParser/Rule_rb.html +5 -3
  307. data/doc/lib/TextParser/StackElement_rb.html +5 -3
  308. data/doc/lib/TextParser/State_rb.html +6 -4
  309. data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
  310. data/doc/lib/TextParser_rb.html +5 -3
  311. data/doc/lib/TextScanner_rb.html +5 -3
  312. data/doc/lib/TimeSheetReceiver_rb.html +5 -3
  313. data/doc/lib/TimeSheetSender_rb.html +5 -3
  314. data/doc/lib/TimeSheetSummary_rb.html +6 -4
  315. data/doc/lib/TimeSheets_rb.html +5 -3
  316. data/doc/lib/Tj3AppBase_rb.html +5 -3
  317. data/doc/lib/Tj3Config_rb.html +5 -3
  318. data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
  319. data/doc/lib/TjException_rb.html +5 -3
  320. data/doc/lib/TjTime_rb.html +5 -3
  321. data/doc/lib/TjpExample_rb.html +5 -3
  322. data/doc/lib/TjpSyntaxRules_rb.html +5 -3
  323. data/doc/lib/URLParameter_rb.html +5 -3
  324. data/doc/lib/UTF8String_rb.html +5 -3
  325. data/doc/lib/UserManual_rb.html +5 -3
  326. data/doc/lib/VimSyntax_rb.html +6 -4
  327. data/doc/lib/WorkingHours_rb.html +5 -3
  328. data/doc/lib/XMLDocument_rb.html +5 -3
  329. data/doc/lib/XMLElement_rb.html +5 -3
  330. data/doc/lib/daemon/Daemon_rb.html +5 -3
  331. data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
  332. data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
  333. data/doc/lib/daemon/ProjectServer_rb.html +5 -3
  334. data/doc/lib/daemon/ReportServer_rb.html +5 -3
  335. data/doc/lib/daemon/ReportServlet_rb.html +69 -0
  336. data/doc/lib/daemon/WebServer_rb.html +9 -3
  337. data/doc/lib/daemon/WelcomePage_rb.html +71 -0
  338. data/doc/lib/deep_copy_rb.html +5 -3
  339. data/doc/lib/reports/CSVFile_rb.html +5 -3
  340. data/doc/lib/reports/CollisionDetector_rb.html +5 -3
  341. data/doc/lib/reports/ColumnTable_rb.html +5 -3
  342. data/doc/lib/reports/GanttChart_rb.html +5 -3
  343. data/doc/lib/reports/GanttContainer_rb.html +5 -3
  344. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
  345. data/doc/lib/reports/GanttHeader_rb.html +5 -3
  346. data/doc/lib/reports/GanttLine_rb.html +5 -3
  347. data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
  348. data/doc/lib/reports/GanttMilestone_rb.html +5 -3
  349. data/doc/lib/reports/GanttRouter_rb.html +5 -3
  350. data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
  351. data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
  352. data/doc/lib/reports/Navigator_rb.html +5 -3
  353. data/doc/lib/reports/NikuReport_rb.html +5 -3
  354. data/doc/lib/reports/ReportBase_rb.html +5 -3
  355. data/doc/lib/reports/ReportContext_rb.html +5 -3
  356. data/doc/lib/reports/ReportTableCell_rb.html +5 -3
  357. data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
  358. data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
  359. data/doc/lib/reports/ReportTableLine_rb.html +5 -3
  360. data/doc/lib/reports/ReportTable_rb.html +5 -3
  361. data/doc/lib/reports/Report_rb.html +5 -3
  362. data/doc/lib/reports/ResourceListRE_rb.html +5 -3
  363. data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
  364. data/doc/lib/reports/TableReport_rb.html +5 -3
  365. data/doc/lib/reports/TaskListRE_rb.html +5 -3
  366. data/doc/lib/reports/TextReport_rb.html +5 -3
  367. data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
  368. data/doc/lib/reports/TjpExportRE_rb.html +5 -3
  369. data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
  370. data/doc/lib/tj3client_rb.html +5 -3
  371. data/doc/lib/tj3d_rb.html +6 -4
  372. data/doc/lib/tj3man_rb.html +5 -3
  373. data/doc/lib/tj3ss_receiver_rb.html +5 -3
  374. data/doc/lib/tj3ss_sender_rb.html +5 -3
  375. data/doc/lib/tj3ts_receiver_rb.html +5 -3
  376. data/doc/lib/tj3ts_sender_rb.html +5 -3
  377. data/doc/lib/tj3ts_summary_rb.html +5 -3
  378. data/examples/tutorial.tjp +13 -5
  379. data/gem_spec.rb +3 -0
  380. data/lib/Account.rb +2 -1
  381. data/lib/AccountScenario.rb +2 -1
  382. data/lib/Allocation.rb +2 -1
  383. data/lib/AppConfig.rb +2 -1
  384. data/lib/AttributeBase.rb +19 -5
  385. data/lib/AttributeDefinition.rb +2 -1
  386. data/lib/Attributes.rb +49 -38
  387. data/lib/BatchProcessor.rb +2 -1
  388. data/lib/Booking.rb +2 -1
  389. data/lib/Charge.rb +2 -1
  390. data/lib/ChargeSet.rb +2 -1
  391. data/lib/DataCache.rb +15 -1
  392. data/lib/FileList.rb +2 -1
  393. data/lib/HTMLDocument.rb +2 -1
  394. data/lib/Interval.rb +2 -1
  395. data/lib/IntervalList.rb +100 -0
  396. data/lib/Journal.rb +8 -2
  397. data/lib/KeywordArray.rb +2 -1
  398. data/lib/KeywordDocumentation.rb +10 -6
  399. data/lib/Limits.rb +2 -1
  400. data/lib/Log.rb +3 -2
  401. data/lib/LogFile.rb +2 -1
  402. data/lib/LogicalExpression.rb +2 -1
  403. data/lib/LogicalFunction.rb +2 -1
  404. data/lib/LogicalOperation.rb +2 -1
  405. data/lib/MacroTable.rb +2 -1
  406. data/lib/MessageHandler.rb +2 -1
  407. data/lib/Project.rb +92 -25
  408. data/lib/ProjectFileParser.rb +7 -2
  409. data/lib/ProjectFileScanner.rb +2 -1
  410. data/lib/PropertyList.rb +2 -1
  411. data/lib/PropertySet.rb +2 -6
  412. data/lib/PropertyTreeNode.rb +22 -44
  413. data/lib/Query.rb +32 -13
  414. data/lib/RTFHandlers.rb +2 -1
  415. data/lib/RTFNavigator.rb +2 -1
  416. data/lib/RTFQuery.rb +3 -2
  417. data/lib/RTFReport.rb +2 -1
  418. data/lib/RTFReportLink.rb +2 -1
  419. data/lib/RTFWithQuerySupport.rb +2 -1
  420. data/lib/RealFormat.rb +2 -1
  421. data/lib/Resource.rb +2 -1
  422. data/lib/ResourceScenario.rb +35 -14
  423. data/lib/RichText.rb +2 -1
  424. data/lib/RichTextDocument.rb +2 -1
  425. data/lib/RichTextElement.rb +2 -1
  426. data/lib/RichTextFunctionExample.rb +2 -1
  427. data/lib/RichTextFunctionHandler.rb +2 -1
  428. data/lib/RichTextParser.rb +2 -1
  429. data/lib/RichTextScanner.rb +2 -1
  430. data/lib/RichTextSnip.rb +2 -1
  431. data/lib/RichTextSyntaxRules.rb +2 -1
  432. data/lib/RuntimeConfig.rb +2 -1
  433. data/lib/Scenario.rb +2 -1
  434. data/lib/ScenarioData.rb +2 -1
  435. data/lib/Scoreboard.rb +27 -8
  436. data/lib/SheetHandlerBase.rb +2 -1
  437. data/lib/SheetReceiver.rb +2 -1
  438. data/lib/SheetSender.rb +2 -1
  439. data/lib/Shift.rb +2 -1
  440. data/lib/ShiftAssignments.rb +2 -1
  441. data/lib/ShiftScenario.rb +2 -1
  442. data/lib/SimpleQueryExpander.rb +2 -1
  443. data/lib/SourceFileInfo.rb +2 -1
  444. data/lib/StatusSheetReceiver.rb +2 -1
  445. data/lib/StatusSheetSender.rb +2 -1
  446. data/lib/SyntaxReference.rb +2 -1
  447. data/lib/TOCEntry.rb +2 -1
  448. data/lib/TableColumnDefinition.rb +9 -2
  449. data/lib/TableOfContents.rb +2 -1
  450. data/lib/Task.rb +2 -1
  451. data/lib/TaskDependency.rb +2 -1
  452. data/lib/TaskJuggler.rb +8 -6
  453. data/lib/TaskScenario.rb +337 -153
  454. data/lib/TextFormatter.rb +3 -2
  455. data/lib/TextParser.rb +7 -2
  456. data/lib/TextParser/Pattern.rb +2 -1
  457. data/lib/TextParser/Rule.rb +2 -1
  458. data/lib/TextParser/StackElement.rb +2 -1
  459. data/lib/TextParser/State.rb +3 -2
  460. data/lib/TextParser/TokenDoc.rb +2 -1
  461. data/lib/TextScanner.rb +12 -5
  462. data/lib/TimeSheetReceiver.rb +2 -1
  463. data/lib/TimeSheetSender.rb +2 -1
  464. data/lib/TimeSheetSummary.rb +3 -2
  465. data/lib/TimeSheets.rb +2 -1
  466. data/lib/Tj3AppBase.rb +6 -5
  467. data/lib/Tj3Config.rb +5 -4
  468. data/lib/Tj3SheetAppBase.rb +2 -1
  469. data/lib/TjException.rb +2 -1
  470. data/lib/TjTime.rb +2 -1
  471. data/lib/TjpExample.rb +2 -1
  472. data/lib/TjpSyntaxRules.rb +264 -65
  473. data/lib/URLParameter.rb +2 -1
  474. data/lib/UTF8String.rb +2 -1
  475. data/lib/UserManual.rb +2 -1
  476. data/lib/VimSyntax.rb +3 -2
  477. data/lib/WorkingHours.rb +2 -1
  478. data/lib/XMLDocument.rb +2 -1
  479. data/lib/XMLElement.rb +2 -1
  480. data/lib/daemon/Daemon.rb +3 -1
  481. data/lib/daemon/ProcessIntercom.rb +3 -1
  482. data/lib/daemon/ProjectBroker.rb +84 -32
  483. data/lib/daemon/ProjectServer.rb +5 -3
  484. data/lib/daemon/ReportServer.rb +8 -5
  485. data/lib/daemon/ReportServlet.rb +166 -0
  486. data/lib/daemon/WebServer.rb +6 -150
  487. data/lib/daemon/WelcomePage.rb +80 -0
  488. data/lib/deep_copy.rb +2 -1
  489. data/lib/reports/CSVFile.rb +2 -1
  490. data/lib/reports/CollisionDetector.rb +2 -1
  491. data/lib/reports/ColumnTable.rb +2 -1
  492. data/lib/reports/GanttChart.rb +2 -1
  493. data/lib/reports/GanttContainer.rb +3 -4
  494. data/lib/reports/GanttHeader.rb +2 -1
  495. data/lib/reports/GanttHeaderScaleItem.rb +2 -1
  496. data/lib/reports/GanttLine.rb +12 -10
  497. data/lib/reports/GanttLoadStack.rb +2 -1
  498. data/lib/reports/GanttMilestone.rb +3 -3
  499. data/lib/reports/GanttRouter.rb +4 -1
  500. data/lib/reports/GanttTaskBar.rb +9 -7
  501. data/lib/reports/HTMLGraphics.rb +2 -1
  502. data/lib/reports/Navigator.rb +2 -1
  503. data/lib/reports/NikuReport.rb +79 -49
  504. data/lib/reports/Report.rb +42 -10
  505. data/lib/reports/ReportBase.rb +2 -1
  506. data/lib/reports/ReportContext.rb +2 -1
  507. data/lib/reports/ReportTable.rb +2 -1
  508. data/lib/reports/ReportTableCell.rb +63 -28
  509. data/lib/reports/ReportTableColumn.rb +2 -1
  510. data/lib/reports/ReportTableLegend.rb +5 -5
  511. data/lib/reports/ReportTableLine.rb +2 -1
  512. data/lib/reports/ResourceListRE.rb +2 -1
  513. data/lib/reports/StatusSheetReport.rb +4 -2
  514. data/lib/reports/TableReport.rb +42 -38
  515. data/lib/reports/TaskListRE.rb +4 -2
  516. data/lib/reports/TextReport.rb +2 -1
  517. data/lib/reports/TimeSheetReport.rb +4 -2
  518. data/lib/reports/TjpExportRE.rb +4 -2
  519. data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
  520. data/lib/tj3client.rb +19 -36
  521. data/lib/tj3d.rb +6 -2
  522. data/lib/tj3man.rb +4 -3
  523. data/lib/tj3ss_receiver.rb +2 -1
  524. data/lib/tj3ss_sender.rb +2 -1
  525. data/lib/tj3ts_receiver.rb +2 -1
  526. data/lib/tj3ts_sender.rb +2 -1
  527. data/lib/tj3ts_summary.rb +2 -1
  528. data/manual/Day_To_Day_Juggling +36 -0
  529. data/manual/How_To_Contribute +9 -4
  530. data/manual/Installation +10 -3
  531. data/manual/TaskJuggler_Internals +0 -2
  532. data/manual/Tutorial +25 -3
  533. data/prj_cfg.rb +4 -2
  534. data/spec/IntervalList_spec.rb +138 -0
  535. data/spec/ProjectBroker_spec.rb +133 -0
  536. data/tasks/changelog.rake +41 -24
  537. data/tasks/csts.rake +1 -0
  538. data/tasks/gem.rake +1 -0
  539. data/tasks/rcov.rake +1 -1
  540. data/tasks/spec.rake +7 -0
  541. data/tasks/test.rake +1 -0
  542. data/test/MessageChecker.rb +2 -1
  543. data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
  544. data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
  545. data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
  546. data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
  547. data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
  548. data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
  549. data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
  550. data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
  551. data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
  552. data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
  553. data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
  554. data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
  555. data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
  556. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
  557. data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
  558. data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
  559. data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
  560. data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
  561. data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
  562. data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
  563. data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
  564. data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
  565. data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
  566. data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
  567. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
  568. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
  569. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
  570. data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
  571. data/test/TestSuite/StatusSheets/sender.log +256 -0
  572. data/test/TestSuite/StatusSheets/statussheets.log +9 -0
  573. data/test/TestSuite/StatusSheets/tj3d.log +395 -0
  574. data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
  575. data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
  576. data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
  577. data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
  578. data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
  579. data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
  580. data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
  581. data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
  582. data/test/all.rb +2 -4
  583. data/test/test_BatchProcessor.rb +2 -1
  584. data/test/test_CSV-Reports.rb +34 -23
  585. data/test/test_CSVFile.rb +2 -1
  586. data/test/test_CollisionDetector.rb +3 -2
  587. data/test/test_Journal.rb +2 -1
  588. data/test/test_Limits.rb +2 -1
  589. data/test/test_LogicalExpression.rb +2 -1
  590. data/test/test_MacroTable.rb +2 -1
  591. data/test/test_Project.rb +3 -2
  592. data/test/test_ProjectFileScanner.rb +2 -1
  593. data/test/test_PropertySet.rb +2 -1
  594. data/test/test_Query.rb +2 -1
  595. data/test/test_RealFormat.rb +2 -1
  596. data/test/test_ReportGenerator.rb +2 -1
  597. data/test/test_RichText.rb +2 -1
  598. data/test/test_Scheduler.rb +2 -1
  599. data/test/test_ShiftAssignments.rb +2 -1
  600. data/test/test_SimpleQueryExpander.rb +2 -1
  601. data/test/test_Syntax.rb +2 -1
  602. data/test/test_TextFormatter.rb +3 -2
  603. data/test/test_TjTime.rb +2 -1
  604. data/test/test_TjpExample.rb +2 -1
  605. data/test/test_URLParameter.rb +2 -1
  606. data/test/test_UTF8String.rb +2 -1
  607. data/test/test_WorkingHours.rb +2 -1
  608. data/test/test_deep_copy.rb +2 -1
  609. metadata +74 -20
  610. data/doc/StringIO.html +0 -595
  611. data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
  612. data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
  613. data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
@@ -95,8 +95,6 @@
95
95
 
96
96
  <li><a href="#method-i-index">#index</a></li>
97
97
 
98
- <li><a href="#method-i-inheritAttributesFromScenario">#inheritAttributesFromScenario</a></li>
99
-
100
98
  <li><a href="#method-i-inheritedFromParent%3F">#inheritedFromParent?</a></li>
101
99
 
102
100
  <li><a href="#method-i-inheritedFromProject%3F">#inheritedFromProject?</a></li>
@@ -177,6 +175,8 @@
177
175
 
178
176
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
179
177
 
178
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
179
+
180
180
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
181
181
 
182
182
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -255,6 +255,8 @@
255
255
 
256
256
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
257
257
 
258
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
259
+
258
260
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
259
261
 
260
262
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -287,6 +289,8 @@
287
289
 
288
290
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
289
291
 
292
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
293
+
290
294
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
291
295
 
292
296
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -567,6 +571,8 @@
567
571
 
568
572
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
569
573
 
574
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
575
+
570
576
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
571
577
 
572
578
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -593,8 +599,6 @@
593
599
 
594
600
  <li><a href="../String.html">String</a></li>
595
601
 
596
- <li><a href="../StringIO.html">StringIO</a></li>
597
-
598
602
  </ul>
599
603
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
600
604
  </div>
@@ -704,43 +708,43 @@ attributes. All Properties of the set will have a set of these attributes.
704
708
  <div class="method-source-code"
705
709
  id="new-source">
706
710
  <pre>
707
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 29</span>
708
- 29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">project</span>, <span class="ruby-identifier">flatNamespace</span>)
709
- 30: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">project</span>.<span class="ruby-identifier">nil?</span>
710
- 31: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;project parameter may not be NIL&quot;</span>
711
- 32: <span class="ruby-keyword kw">end</span>
712
- 33: <span class="ruby-comment cmt"># Indicates whether the namespace of this PropertySet is flat or not. In a</span>
713
- 34: <span class="ruby-comment cmt"># flat namespace all property IDs must be unique. Otherwise only the IDs</span>
714
- 35: <span class="ruby-comment cmt"># within a group of siblings must be unique. The full ID of the Property</span>
715
- 36: <span class="ruby-comment cmt"># is then composed of the siblings ID prefixed by the parent ID. ID fields</span>
716
- 37: <span class="ruby-comment cmt"># are separated by dots.</span>
717
- 38: <span class="ruby-ivar">@flatNamespace</span> = <span class="ruby-identifier">flatNamespace</span>
718
- 39: <span class="ruby-comment cmt"># The main Project data structure reference.</span>
719
- 40: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">project</span>
720
- 41: <span class="ruby-comment cmt"># This is the blueprint for PropertyTreeNode attribute sets. Whever a new</span>
721
- 42: <span class="ruby-comment cmt"># PropertTreeNode is created, an attribute is created for each definition</span>
722
- 43: <span class="ruby-comment cmt"># in this list.</span>
723
- 44: <span class="ruby-ivar">@attributeDefinitions</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
724
- 45: <span class="ruby-comment cmt"># A list of all PropertyTreeNodes in this set.</span>
725
- 46: <span class="ruby-ivar">@properties</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
726
- 47: <span class="ruby-comment cmt"># A hash of all PropertyTreeNodes in this set, hashed by their ID. This is</span>
727
- 48: <span class="ruby-comment cmt"># the same data as in @properties, but hashed by ID for faster access.</span>
728
- 49: <span class="ruby-ivar">@propertyMap</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
729
- 50:
730
- 51: <span class="ruby-comment cmt"># IDs and names of the built-in attributes. TODO: Check performance impact</span>
731
- 52: <span class="ruby-comment cmt"># when making them normal attributes.</span>
732
- 53: <span class="ruby-identifier">@@fixedAttributeNames</span> = {
733
- 54: <span class="ruby-value str">'id'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'ID'</span>,
734
- 55: <span class="ruby-value str">'name'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'Name'</span>,
735
- 56: <span class="ruby-value str">'seqno'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'Seq. No.'</span>
736
- 57: }
737
- 58: <span class="ruby-comment cmt"># And their types.</span>
738
- 59: <span class="ruby-identifier">@@fixedAttributesTypes</span> = {
739
- 60: <span class="ruby-value str">'id'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">:String</span>,
740
- 61: <span class="ruby-value str">'name'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">:String</span>,
741
- 62: <span class="ruby-value str">'seqno'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">:Fixnum</span>
742
- 63: }
743
- 64: <span class="ruby-keyword kw">end</span></pre>
711
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 30</span>
712
+ 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">project</span>, <span class="ruby-identifier">flatNamespace</span>)
713
+ 31: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">project</span>.<span class="ruby-identifier">nil?</span>
714
+ 32: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;project parameter may not be NIL&quot;</span>
715
+ 33: <span class="ruby-keyword kw">end</span>
716
+ 34: <span class="ruby-comment cmt"># Indicates whether the namespace of this PropertySet is flat or not. In a</span>
717
+ 35: <span class="ruby-comment cmt"># flat namespace all property IDs must be unique. Otherwise only the IDs</span>
718
+ 36: <span class="ruby-comment cmt"># within a group of siblings must be unique. The full ID of the Property</span>
719
+ 37: <span class="ruby-comment cmt"># is then composed of the siblings ID prefixed by the parent ID. ID fields</span>
720
+ 38: <span class="ruby-comment cmt"># are separated by dots.</span>
721
+ 39: <span class="ruby-ivar">@flatNamespace</span> = <span class="ruby-identifier">flatNamespace</span>
722
+ 40: <span class="ruby-comment cmt"># The main Project data structure reference.</span>
723
+ 41: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">project</span>
724
+ 42: <span class="ruby-comment cmt"># This is the blueprint for PropertyTreeNode attribute sets. Whever a new</span>
725
+ 43: <span class="ruby-comment cmt"># PropertTreeNode is created, an attribute is created for each definition</span>
726
+ 44: <span class="ruby-comment cmt"># in this list.</span>
727
+ 45: <span class="ruby-ivar">@attributeDefinitions</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
728
+ 46: <span class="ruby-comment cmt"># A list of all PropertyTreeNodes in this set.</span>
729
+ 47: <span class="ruby-ivar">@properties</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
730
+ 48: <span class="ruby-comment cmt"># A hash of all PropertyTreeNodes in this set, hashed by their ID. This is</span>
731
+ 49: <span class="ruby-comment cmt"># the same data as in @properties, but hashed by ID for faster access.</span>
732
+ 50: <span class="ruby-ivar">@propertyMap</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
733
+ 51:
734
+ 52: <span class="ruby-comment cmt"># IDs and names of the built-in attributes. TODO: Check performance impact</span>
735
+ 53: <span class="ruby-comment cmt"># when making them normal attributes.</span>
736
+ 54: <span class="ruby-identifier">@@fixedAttributeNames</span> = {
737
+ 55: <span class="ruby-value str">'id'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'ID'</span>,
738
+ 56: <span class="ruby-value str">'name'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'Name'</span>,
739
+ 57: <span class="ruby-value str">'seqno'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'Seq. No.'</span>
740
+ 58: }
741
+ 59: <span class="ruby-comment cmt"># And their types.</span>
742
+ 60: <span class="ruby-identifier">@@fixedAttributesTypes</span> = {
743
+ 61: <span class="ruby-value str">'id'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">:String</span>,
744
+ 62: <span class="ruby-value str">'name'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">:String</span>,
745
+ 63: <span class="ruby-value str">'seqno'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">:Fixnum</span>
746
+ 64: }
747
+ 65: <span class="ruby-keyword kw">end</span></pre>
744
748
  </div>
745
749
 
746
750
  </div>
@@ -780,10 +784,10 @@ ID <em>id</em> from the set or nil if not present.
780
784
  <div class="method-source-code"
781
785
  id="--source">
782
786
  <pre>
783
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 251</span>
784
- 251: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">id</span>)
785
- 252: <span class="ruby-ivar">@propertyMap</span>[<span class="ruby-identifier">id</span>]
786
- 253: <span class="ruby-keyword kw">end</span></pre>
787
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 247</span>
788
+ 247: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">id</span>)
789
+ 248: <span class="ruby-ivar">@propertyMap</span>[<span class="ruby-identifier">id</span>]
790
+ 249: <span class="ruby-keyword kw">end</span></pre>
787
791
  </div>
788
792
 
789
793
  </div>
@@ -818,15 +822,15 @@ declared before the first property is added to the set.
818
822
  <div class="method-source-code"
819
823
  id="add-ttribute-ype-source">
820
824
  <pre>
821
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 74</span>
822
- 74: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addAttributeType</span>(<span class="ruby-identifier">attributeType</span>)
823
- 75: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">empty?</span>
824
- 76: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Fatal Error: Attribute types must be defined before &quot;</span> <span class="ruby-operator">+</span>
825
- 77: <span class="ruby-value str">&quot;properties are added.&quot;</span>
826
- 78: <span class="ruby-keyword kw">end</span>
827
- 79:
828
- 80: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attributeType</span>
829
- 81: <span class="ruby-keyword kw">end</span></pre>
825
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 70</span>
826
+ 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addAttributeType</span>(<span class="ruby-identifier">attributeType</span>)
827
+ 71: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">empty?</span>
828
+ 72: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Fatal Error: Attribute types must be defined before &quot;</span> <span class="ruby-operator">+</span>
829
+ 73: <span class="ruby-value str">&quot;properties are added.&quot;</span>
830
+ 74: <span class="ruby-keyword kw">end</span>
831
+ 75:
832
+ 76: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attributeType</span>
833
+ 77: <span class="ruby-keyword kw">end</span></pre>
830
834
  </div>
831
835
 
832
836
  </div>
@@ -866,23 +870,23 @@ You must call index() before using these attributes.
866
870
  <div class="method-source-code"
867
871
  id="add-roperty-source">
868
872
  <pre>
869
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 200</span>
870
- 200: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addProperty</span>(<span class="ruby-identifier">property</span>)
871
- 201: <span class="ruby-comment cmt"># The PropertySet defines the set of attribute that each PropertyTreeNode</span>
872
- 202: <span class="ruby-comment cmt"># in this set has. Create these attributes with their default values.</span>
873
- 203: <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attributeType</span><span class="ruby-operator">|</span>
874
- 204: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">declareAttribute</span>(<span class="ruby-identifier">attributeType</span>)
875
- 205: <span class="ruby-keyword kw">end</span>
876
- 206:
877
- 207: <span class="ruby-comment cmt"># The PropertyTreeNode objects are indexed by ID or hierachical ID</span>
878
- 208: <span class="ruby-comment cmt"># depending on the name space setting of this set.</span>
879
- 209: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@flatNamespace</span>
880
- 210: <span class="ruby-ivar">@propertyMap</span>[<span class="ruby-identifier">property</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">property</span>
881
- 211: <span class="ruby-keyword kw">else</span>
882
- 212: <span class="ruby-ivar">@propertyMap</span>[<span class="ruby-identifier">property</span>.<span class="ruby-identifier">fullId</span>] = <span class="ruby-identifier">property</span>
883
- 213: <span class="ruby-keyword kw">end</span>
884
- 214: <span class="ruby-ivar">@properties</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">property</span>
885
- 215: <span class="ruby-keyword kw">end</span></pre>
873
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 196</span>
874
+ 196: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addProperty</span>(<span class="ruby-identifier">property</span>)
875
+ 197: <span class="ruby-comment cmt"># The PropertySet defines the set of attribute that each PropertyTreeNode</span>
876
+ 198: <span class="ruby-comment cmt"># in this set has. Create these attributes with their default values.</span>
877
+ 199: <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attributeType</span><span class="ruby-operator">|</span>
878
+ 200: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">declareAttribute</span>(<span class="ruby-identifier">attributeType</span>)
879
+ 201: <span class="ruby-keyword kw">end</span>
880
+ 202:
881
+ 203: <span class="ruby-comment cmt"># The PropertyTreeNode objects are indexed by ID or hierachical ID</span>
882
+ 204: <span class="ruby-comment cmt"># depending on the name space setting of this set.</span>
883
+ 205: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@flatNamespace</span>
884
+ 206: <span class="ruby-ivar">@propertyMap</span>[<span class="ruby-identifier">property</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">property</span>
885
+ 207: <span class="ruby-keyword kw">else</span>
886
+ 208: <span class="ruby-ivar">@propertyMap</span>[<span class="ruby-identifier">property</span>.<span class="ruby-identifier">fullId</span>] = <span class="ruby-identifier">property</span>
887
+ 209: <span class="ruby-keyword kw">end</span>
888
+ 210: <span class="ruby-ivar">@properties</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">property</span>
889
+ 211: <span class="ruby-keyword kw">end</span></pre>
886
890
  </div>
887
891
 
888
892
  </div>
@@ -916,20 +920,20 @@ specified by <em>attrId</em>.
916
920
  <div class="method-source-code"
917
921
  id="attribute-ame-source">
918
922
  <pre>
919
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 165</span>
920
- 165: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeName</span>(<span class="ruby-identifier">attrId</span>)
921
- 166: <span class="ruby-comment cmt"># Some attributes are hardwired into the properties. These need to be</span>
922
- 167: <span class="ruby-comment cmt"># treated separately.</span>
923
- 168: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">@@fixedAttributeNames</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
924
- 169: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">attrId</span>)
925
- 170: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">name</span>
926
- 171: <span class="ruby-keyword kw">end</span>
927
- 172: <span class="ruby-keyword kw">else</span>
928
- 173: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">@@fixedAttributeNames</span>[<span class="ruby-identifier">attrId</span>]
929
- 174: <span class="ruby-keyword kw">end</span>
930
- 175:
931
- 176: <span class="ruby-keyword kw">nil</span>
932
- 177: <span class="ruby-keyword kw">end</span></pre>
923
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 161</span>
924
+ 161: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeName</span>(<span class="ruby-identifier">attrId</span>)
925
+ 162: <span class="ruby-comment cmt"># Some attributes are hardwired into the properties. These need to be</span>
926
+ 163: <span class="ruby-comment cmt"># treated separately.</span>
927
+ 164: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">@@fixedAttributeNames</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
928
+ 165: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">attrId</span>)
929
+ 166: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">name</span>
930
+ 167: <span class="ruby-keyword kw">end</span>
931
+ 168: <span class="ruby-keyword kw">else</span>
932
+ 169: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">@@fixedAttributeNames</span>[<span class="ruby-identifier">attrId</span>]
933
+ 170: <span class="ruby-keyword kw">end</span>
934
+ 171:
935
+ 172: <span class="ruby-keyword kw">nil</span>
936
+ 173: <span class="ruby-keyword kw">end</span></pre>
933
937
  </div>
934
938
 
935
939
  </div>
@@ -962,19 +966,19 @@ Return the type of the attribute with the Id specified by <em>attrId</em>.
962
966
  <div class="method-source-code"
963
967
  id="attribute-ype-source">
964
968
  <pre>
965
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 180</span>
966
- 180: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeType</span>(<span class="ruby-identifier">attrId</span>)
967
- 181: <span class="ruby-comment cmt"># Hardwired attributes need special treatment.</span>
968
- 182: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">@@fixedAttributesTypes</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
969
- 183: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attrId</span>)
970
- 184: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">objClass</span>
971
- 185: <span class="ruby-keyword kw">else</span>
972
- 186: <span class="ruby-keyword kw">nil</span>
973
- 187: <span class="ruby-keyword kw">end</span>
974
- 188: <span class="ruby-keyword kw">else</span>
975
- 189: <span class="ruby-identifier">@@fixedAttributesTypes</span>[<span class="ruby-identifier">attrId</span>]
976
- 190: <span class="ruby-keyword kw">end</span>
977
- 191: <span class="ruby-keyword kw">end</span></pre>
969
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 176</span>
970
+ 176: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeType</span>(<span class="ruby-identifier">attrId</span>)
971
+ 177: <span class="ruby-comment cmt"># Hardwired attributes need special treatment.</span>
972
+ 178: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">@@fixedAttributesTypes</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
973
+ 179: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attrId</span>)
974
+ 180: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">objClass</span>
975
+ 181: <span class="ruby-keyword kw">else</span>
976
+ 182: <span class="ruby-keyword kw">nil</span>
977
+ 183: <span class="ruby-keyword kw">end</span>
978
+ 184: <span class="ruby-keyword kw">else</span>
979
+ 185: <span class="ruby-identifier">@@fixedAttributesTypes</span>[<span class="ruby-identifier">attrId</span>]
980
+ 186: <span class="ruby-keyword kw">end</span>
981
+ 187: <span class="ruby-keyword kw">end</span></pre>
978
982
  </div>
979
983
 
980
984
  </div>
@@ -1007,11 +1011,11 @@ Call this function to delete all registered properties.
1007
1011
  <div class="method-source-code"
1008
1012
  id="clear-roperties-source">
1009
1013
  <pre>
1010
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 244</span>
1011
- 244: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clearProperties</span>
1012
- 245: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">clear</span>
1013
- 246: <span class="ruby-ivar">@propertyMap</span>.<span class="ruby-identifier">clear</span>
1014
- 247: <span class="ruby-keyword kw">end</span></pre>
1014
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 240</span>
1015
+ 240: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clearProperties</span>
1016
+ 241: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">clear</span>
1017
+ 242: <span class="ruby-ivar">@propertyMap</span>.<span class="ruby-identifier">clear</span>
1018
+ 243: <span class="ruby-keyword kw">end</span></pre>
1015
1019
  </div>
1016
1020
 
1017
1021
  </div>
@@ -1044,12 +1048,12 @@ Return the default value of the attribute.
1044
1048
  <div class="method-source-code"
1045
1049
  id="default-alue-source">
1046
1050
  <pre>
1047
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 157</span>
1048
- 157: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">defaultValue</span>(<span class="ruby-identifier">attrId</span>)
1049
- 158: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
1050
- 159:
1051
- 160: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">default</span>
1052
- 161: <span class="ruby-keyword kw">end</span></pre>
1051
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 153</span>
1052
+ 153: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">defaultValue</span>(<span class="ruby-identifier">attrId</span>)
1053
+ 154: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
1054
+ 155:
1055
+ 156: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">default</span>
1056
+ 157: <span class="ruby-keyword kw">end</span></pre>
1053
1057
  </div>
1054
1058
 
1055
1059
  </div>
@@ -1083,12 +1087,12 @@ objects in this set.
1083
1087
  <div class="method-source-code"
1084
1088
  id="each-source">
1085
1089
  <pre>
1086
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 317</span>
1087
- 317: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
1088
- 318: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
1089
- 319: <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">value</span>)
1090
- 320: <span class="ruby-keyword kw">end</span>
1091
- 321: <span class="ruby-keyword kw">end</span></pre>
1090
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 313</span>
1091
+ 313: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
1092
+ 314: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
1093
+ 315: <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">value</span>)
1094
+ 316: <span class="ruby-keyword kw">end</span>
1095
+ 317: <span class="ruby-keyword kw">end</span></pre>
1092
1096
  </div>
1093
1097
 
1094
1098
  </div>
@@ -1121,12 +1125,12 @@ Iterate over all attribute definitions.
1121
1125
  <div class="method-source-code"
1122
1126
  id="each-ttribute-efinition-source">
1123
1127
  <pre>
1124
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 84</span>
1125
- 84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachAttributeDefinition</span>
1126
- 85: <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
1127
- 86: <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">value</span>)
1128
- 87: <span class="ruby-keyword kw">end</span>
1129
- 88: <span class="ruby-keyword kw">end</span></pre>
1128
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 80</span>
1129
+ 80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachAttributeDefinition</span>
1130
+ 81: <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
1131
+ 82: <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">value</span>)
1132
+ 83: <span class="ruby-keyword kw">end</span>
1133
+ 84: <span class="ruby-keyword kw">end</span></pre>
1130
1134
  </div>
1131
1135
 
1132
1136
  </div>
@@ -1159,10 +1163,10 @@ Return true if the set is empty.
1159
1163
  <div class="method-source-code"
1160
1164
  id="empty--source">
1161
1165
  <pre>
1162
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 302</span>
1163
- 302: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">empty?</span>
1164
- 303: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">empty?</span>
1165
- 304: <span class="ruby-keyword kw">end</span></pre>
1166
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 298</span>
1167
+ 298: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">empty?</span>
1168
+ 299: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">empty?</span>
1169
+ 300: <span class="ruby-keyword kw">end</span></pre>
1166
1170
  </div>
1167
1171
 
1168
1172
  </div>
@@ -1197,21 +1201,21 @@ attributes <em>scenarioIdx</em> needs to be provided.
1197
1201
  <div class="method-source-code"
1198
1202
  id="has-uery--source">
1199
1203
  <pre>
1200
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 99</span>
1201
- 99: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hasQuery?</span>(<span class="ruby-identifier">attrId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1202
- 100: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">empty?</span>
1203
- 101:
1204
- 102: <span class="ruby-identifier">property</span> = <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">first</span>
1205
- 103: <span class="ruby-identifier">methodName</span> = <span class="ruby-value str">'query_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">attrId</span>
1206
- 104: <span class="ruby-comment cmt"># First we check for non-scenario-specific query functions.</span>
1207
- 105: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">methodName</span>)
1208
- 106: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
1209
- 107: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">scenarioIdx</span>
1210
- 108: <span class="ruby-comment cmt"># Then we check for scenario-specific ones via the @data member.</span>
1211
- 109: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">data</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">methodName</span>)
1212
- 110: <span class="ruby-keyword kw">end</span>
1213
- 111: <span class="ruby-keyword kw">false</span>
1214
- 112: <span class="ruby-keyword kw">end</span></pre>
1204
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 95</span>
1205
+ 95: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hasQuery?</span>(<span class="ruby-identifier">attrId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1206
+ 96: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">empty?</span>
1207
+ 97:
1208
+ 98: <span class="ruby-identifier">property</span> = <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">first</span>
1209
+ 99: <span class="ruby-identifier">methodName</span> = <span class="ruby-value str">'query_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">attrId</span>
1210
+ 100: <span class="ruby-comment cmt"># First we check for non-scenario-specific query functions.</span>
1211
+ 101: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">methodName</span>)
1212
+ 102: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
1213
+ 103: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">scenarioIdx</span>
1214
+ 104: <span class="ruby-comment cmt"># Then we check for scenario-specific ones via the @data member.</span>
1215
+ 105: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">data</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">methodName</span>)
1216
+ 106: <span class="ruby-keyword kw">end</span>
1217
+ 107: <span class="ruby-keyword kw">false</span>
1218
+ 108: <span class="ruby-keyword kw">end</span></pre>
1215
1219
  </div>
1216
1220
 
1217
1221
  </div>
@@ -1245,59 +1249,23 @@ called whenever the set has been modified.
1245
1249
  <div class="method-source-code"
1246
1250
  id="index-source">
1247
1251
  <pre>
1248
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 257</span>
1249
- 257: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">index</span>
1250
- 258: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1251
- 259: <span class="ruby-identifier">wbsIdcs</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">getWBSIndicies</span>
1252
- 260: <span class="ruby-identifier">wbs</span> = <span class="ruby-value str">&quot;&quot;</span>
1253
- 261: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1254
- 262: <span class="ruby-identifier">wbsIdcs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
1255
- 263: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1256
- 264: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1257
- 265: <span class="ruby-keyword kw">else</span>
1258
- 266: <span class="ruby-identifier">wbs</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'.'</span>
1259
- 267: <span class="ruby-keyword kw">end</span>
1260
- 268: <span class="ruby-identifier">wbs</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">to_s</span>
1261
- 269: <span class="ruby-keyword kw">end</span>
1262
- 270: <span class="ruby-identifier">p</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'wbs'</span>, <span class="ruby-identifier">wbs</span>)
1263
- 271: <span class="ruby-keyword kw">end</span>
1264
- 272: <span class="ruby-keyword kw">end</span></pre>
1265
- </div>
1266
-
1267
- </div>
1268
-
1269
-
1270
-
1271
-
1272
- </div>
1273
-
1274
-
1275
- <div id="inherit-ttributes-rom-cenario-method" class="method-detail ">
1276
- <a name="method-i-inheritAttributesFromScenario"></a>
1277
-
1278
- <div class="method-heading">
1279
-
1280
- <span class="method-name">inheritAttributesFromScenario</span><span
1281
- class="method-args">()</span>
1282
- <span class="method-click-advice">click to toggle source</span>
1283
-
1284
- </div>
1285
-
1286
- <div class="method-description">
1287
-
1288
- <p>
1289
- Inherit all attributes of each property from the parent scenario.
1290
- </p>
1291
-
1292
-
1293
-
1294
- <div class="method-source-code"
1295
- id="inherit-ttributes-rom-cenario-source">
1296
- <pre>
1297
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 67</span>
1298
- 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributesFromScenario</span>
1299
- 68: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">inheritAttributesFromScenario</span> }
1300
- 69: <span class="ruby-keyword kw">end</span></pre>
1252
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 253</span>
1253
+ 253: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">index</span>
1254
+ 254: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1255
+ 255: <span class="ruby-identifier">wbsIdcs</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">getWBSIndicies</span>
1256
+ 256: <span class="ruby-identifier">wbs</span> = <span class="ruby-value str">&quot;&quot;</span>
1257
+ 257: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1258
+ 258: <span class="ruby-identifier">wbsIdcs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
1259
+ 259: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1260
+ 260: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1261
+ 261: <span class="ruby-keyword kw">else</span>
1262
+ 262: <span class="ruby-identifier">wbs</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'.'</span>
1263
+ 263: <span class="ruby-keyword kw">end</span>
1264
+ 264: <span class="ruby-identifier">wbs</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">to_s</span>
1265
+ 265: <span class="ruby-keyword kw">end</span>
1266
+ 266: <span class="ruby-identifier">p</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'wbs'</span>, <span class="ruby-identifier">wbs</span>)
1267
+ 267: <span class="ruby-keyword kw">end</span>
1268
+ 268: <span class="ruby-keyword kw">end</span></pre>
1301
1269
  </div>
1302
1270
 
1303
1271
  </div>
@@ -1330,13 +1298,13 @@ Return whether the attribute with <em>attrId</em> is inherited from parent.
1330
1298
  <div class="method-source-code"
1331
1299
  id="inherited-rom-arent--source">
1332
1300
  <pre>
1333
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 142</span>
1334
- 142: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritedFromParent?</span>(<span class="ruby-identifier">attrId</span>)
1335
- 143: <span class="ruby-comment cmt"># All hardwired attributes are not inherited.</span>
1336
- 144: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
1337
- 145:
1338
- 146: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">inheritedFromParent</span>
1339
- 147: <span class="ruby-keyword kw">end</span></pre>
1301
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 138</span>
1302
+ 138: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritedFromParent?</span>(<span class="ruby-identifier">attrId</span>)
1303
+ 139: <span class="ruby-comment cmt"># All hardwired attributes are not inherited.</span>
1304
+ 140: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
1305
+ 141:
1306
+ 142: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">inheritedFromParent</span>
1307
+ 143: <span class="ruby-keyword kw">end</span></pre>
1340
1308
  </div>
1341
1309
 
1342
1310
  </div>
@@ -1370,13 +1338,13 @@ global scope.
1370
1338
  <div class="method-source-code"
1371
1339
  id="inherited-rom-roject--source">
1372
1340
  <pre>
1373
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 134</span>
1374
- 134: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritedFromProject?</span>(<span class="ruby-identifier">attrId</span>)
1375
- 135: <span class="ruby-comment cmt"># All hardwired attributes are not inherited.</span>
1376
- 136: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
1377
- 137:
1378
- 138: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">inheritedFromProject</span>
1379
- 139: <span class="ruby-keyword kw">end</span></pre>
1341
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 130</span>
1342
+ 130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritedFromProject?</span>(<span class="ruby-identifier">attrId</span>)
1343
+ 131: <span class="ruby-comment cmt"># All hardwired attributes are not inherited.</span>
1344
+ 132: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
1345
+ 133:
1346
+ 134: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">inheritedFromProject</span>
1347
+ 135: <span class="ruby-keyword kw">end</span></pre>
1380
1348
  </div>
1381
1349
 
1382
1350
  </div>
@@ -1410,10 +1378,10 @@ objects in this set.
1410
1378
  <div class="method-source-code"
1411
1379
  id="items-source">
1412
1380
  <pre>
1413
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 297</span>
1414
- 297: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">items</span>
1415
- 298: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">length</span>
1416
- 299: <span class="ruby-keyword kw">end</span></pre>
1381
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 293</span>
1382
+ 293: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">items</span>
1383
+ 294: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">length</span>
1384
+ 295: <span class="ruby-keyword kw">end</span></pre>
1417
1385
  </div>
1418
1386
 
1419
1387
  </div>
@@ -1448,11 +1416,11 @@ href="AttributeDefinition.html">AttributeDefinition</a> for
1448
1416
  <div class="method-source-code"
1449
1417
  id="known-ttribute--source">
1450
1418
  <pre>
1451
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 91</span>
1452
- 91: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">knownAttribute?</span>(<span class="ruby-identifier">attrId</span>)
1453
- 92: <span class="ruby-identifier">@@fixedAttributeNames</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">attrId</span>) <span class="ruby-operator">||</span>
1454
- 93: <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">attrId</span>)
1455
- 94: <span class="ruby-keyword kw">end</span></pre>
1419
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 87</span>
1420
+ 87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">knownAttribute?</span>(<span class="ruby-identifier">attrId</span>)
1421
+ 88: <span class="ruby-identifier">@@fixedAttributeNames</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">attrId</span>) <span class="ruby-operator">||</span>
1422
+ 89: <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">attrId</span>)
1423
+ 90: <span class="ruby-keyword kw">end</span></pre>
1456
1424
  </div>
1457
1425
 
1458
1426
  </div>
@@ -1485,17 +1453,17 @@ Return the index of the top-level <em>property</em> in the set.
1485
1453
  <div class="method-source-code"
1486
1454
  id="level-eq-o-source">
1487
1455
  <pre>
1488
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 275</span>
1489
- 275: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">property</span>)
1490
- 276: <span class="ruby-identifier">seqNo</span> = <span class="ruby-value">1</span>
1491
- 277: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1492
- 278: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1493
- 279: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">seqNo</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">property</span>
1494
- 280: <span class="ruby-identifier">seqNo</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1495
- 281: <span class="ruby-keyword kw">end</span>
1496
- 282: <span class="ruby-keyword kw">end</span>
1497
- 283: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Fatal Error: Unknow property #{property}&quot;</span>
1498
- 284: <span class="ruby-keyword kw">end</span></pre>
1456
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 271</span>
1457
+ 271: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">property</span>)
1458
+ 272: <span class="ruby-identifier">seqNo</span> = <span class="ruby-value">1</span>
1459
+ 273: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1460
+ 274: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1461
+ 275: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">seqNo</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">property</span>
1462
+ 276: <span class="ruby-identifier">seqNo</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1463
+ 277: <span class="ruby-keyword kw">end</span>
1464
+ 278: <span class="ruby-keyword kw">end</span>
1465
+ 279: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Fatal Error: Unknow property #{property}&quot;</span>
1466
+ 280: <span class="ruby-keyword kw">end</span></pre>
1499
1467
  </div>
1500
1468
 
1501
1469
  </div>
@@ -1529,14 +1497,14 @@ maxDepth of 1. A list with one sub level has a maxDepth of 2 and so on.
1529
1497
  <div class="method-source-code"
1530
1498
  id="max-epth-source">
1531
1499
  <pre>
1532
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 288</span>
1533
- 288: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">maxDepth</span>
1534
- 289: <span class="ruby-identifier">md</span> = <span class="ruby-value">0</span>
1535
- 290: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1536
- 291: <span class="ruby-identifier">md</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">level</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">level</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">md</span>
1537
- 292: <span class="ruby-keyword kw">end</span>
1538
- 293: <span class="ruby-identifier">md</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1539
- 294: <span class="ruby-keyword kw">end</span></pre>
1500
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 284</span>
1501
+ 284: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">maxDepth</span>
1502
+ 285: <span class="ruby-identifier">md</span> = <span class="ruby-value">0</span>
1503
+ 286: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1504
+ 287: <span class="ruby-identifier">md</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">level</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">level</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">md</span>
1505
+ 288: <span class="ruby-keyword kw">end</span>
1506
+ 289: <span class="ruby-identifier">md</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1507
+ 290: <span class="ruby-keyword kw">end</span></pre>
1540
1508
  </div>
1541
1509
 
1542
1510
  </div>
@@ -1575,28 +1543,28 @@ TODO: This function does not take care of references to this PTN!
1575
1543
  <div class="method-source-code"
1576
1544
  id="remove-roperty-source">
1577
1545
  <pre>
1578
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 221</span>
1579
- 221: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">removeProperty</span>(<span class="ruby-identifier">prop</span>)
1580
- 222: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
1581
- 223: <span class="ruby-identifier">property</span> = <span class="ruby-ivar">@propertyMap</span>[<span class="ruby-identifier">prop</span>]
1582
- 224: <span class="ruby-keyword kw">else</span>
1583
- 225: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">prop</span>
1584
- 226: <span class="ruby-keyword kw">end</span>
1585
- 227:
1586
- 228: <span class="ruby-comment cmt"># Recursively remove all sub-nodes. The children list is modified during</span>
1587
- 229: <span class="ruby-comment cmt"># the call, so we can't use an iterator here.</span>
1588
- 230: <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-keyword kw">do</span>
1589
- 231: <span class="ruby-identifier">removeProperty</span>(<span class="ruby-identifier">property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">first</span>)
1590
- 232: <span class="ruby-keyword kw">end</span>
1591
- 233:
1592
- 234: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">property</span>)
1593
- 235: <span class="ruby-ivar">@propertyMap</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">property</span>.<span class="ruby-identifier">fullId</span>)
1594
- 236:
1595
- 237: <span class="ruby-comment cmt"># Remove this node from the child list of the parent node.</span>
1596
- 238: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">property</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">parent</span>
1597
- 239:
1598
- 240: <span class="ruby-identifier">property</span>
1599
- 241: <span class="ruby-keyword kw">end</span></pre>
1546
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 217</span>
1547
+ 217: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">removeProperty</span>(<span class="ruby-identifier">prop</span>)
1548
+ 218: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
1549
+ 219: <span class="ruby-identifier">property</span> = <span class="ruby-ivar">@propertyMap</span>[<span class="ruby-identifier">prop</span>]
1550
+ 220: <span class="ruby-keyword kw">else</span>
1551
+ 221: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">prop</span>
1552
+ 222: <span class="ruby-keyword kw">end</span>
1553
+ 223:
1554
+ 224: <span class="ruby-comment cmt"># Recursively remove all sub-nodes. The children list is modified during</span>
1555
+ 225: <span class="ruby-comment cmt"># the call, so we can't use an iterator here.</span>
1556
+ 226: <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-keyword kw">do</span>
1557
+ 227: <span class="ruby-identifier">removeProperty</span>(<span class="ruby-identifier">property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">first</span>)
1558
+ 228: <span class="ruby-keyword kw">end</span>
1559
+ 229:
1560
+ 230: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">property</span>)
1561
+ 231: <span class="ruby-ivar">@propertyMap</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">property</span>.<span class="ruby-identifier">fullId</span>)
1562
+ 232:
1563
+ 233: <span class="ruby-comment cmt"># Remove this node from the child list of the parent node.</span>
1564
+ 234: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">property</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">parent</span>
1565
+ 235:
1566
+ 236: <span class="ruby-identifier">property</span>
1567
+ 237: <span class="ruby-keyword kw">end</span></pre>
1600
1568
  </div>
1601
1569
 
1602
1570
  </div>
@@ -1630,23 +1598,23 @@ not.
1630
1598
  <div class="method-source-code"
1631
1599
  id="scenario-pecific--source">
1632
1600
  <pre>
1633
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 115</span>
1634
- 115: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">attrId</span>)
1635
- 116: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>]
1636
- 117: <span class="ruby-comment cmt"># Check the 'scenarioSpecific' flag of the attribute definition.</span>
1637
- 118: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">scenarioSpecific</span>
1638
- 119: <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">property</span> = <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">first</span>) <span class="ruby-operator">&amp;&amp;</span>
1639
- 120: <span class="ruby-identifier">property</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">data</span> <span class="ruby-operator">&amp;&amp;</span>
1640
- 121: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">respond_to?</span>(<span class="ruby-node">&quot;query_#{attrId}&quot;</span>)
1641
- 122: <span class="ruby-comment cmt"># We've found a query_ function for the attrId that is scenario</span>
1642
- 123: <span class="ruby-comment cmt"># specific.</span>
1643
- 124: <span class="ruby-keyword kw">true</span>
1644
- 125: <span class="ruby-keyword kw">else</span>
1645
- 126: <span class="ruby-comment cmt"># All hardwired, non-existing and non-scenario-specific query_</span>
1646
- 127: <span class="ruby-comment cmt"># candidates.</span>
1647
- 128: <span class="ruby-keyword kw">false</span>
1648
- 129: <span class="ruby-keyword kw">end</span>
1649
- 130: <span class="ruby-keyword kw">end</span></pre>
1601
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 111</span>
1602
+ 111: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">attrId</span>)
1603
+ 112: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>]
1604
+ 113: <span class="ruby-comment cmt"># Check the 'scenarioSpecific' flag of the attribute definition.</span>
1605
+ 114: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">scenarioSpecific</span>
1606
+ 115: <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">property</span> = <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">first</span>) <span class="ruby-operator">&amp;&amp;</span>
1607
+ 116: <span class="ruby-identifier">property</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">data</span> <span class="ruby-operator">&amp;&amp;</span>
1608
+ 117: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">respond_to?</span>(<span class="ruby-node">&quot;query_#{attrId}&quot;</span>)
1609
+ 118: <span class="ruby-comment cmt"># We've found a query_ function for the attrId that is scenario</span>
1610
+ 119: <span class="ruby-comment cmt"># specific.</span>
1611
+ 120: <span class="ruby-keyword kw">true</span>
1612
+ 121: <span class="ruby-keyword kw">else</span>
1613
+ 122: <span class="ruby-comment cmt"># All hardwired, non-existing and non-scenario-specific query_</span>
1614
+ 123: <span class="ruby-comment cmt"># candidates.</span>
1615
+ 124: <span class="ruby-keyword kw">false</span>
1616
+ 125: <span class="ruby-keyword kw">end</span>
1617
+ 126: <span class="ruby-keyword kw">end</span></pre>
1650
1618
  </div>
1651
1619
 
1652
1620
  </div>
@@ -1680,10 +1648,10 @@ objects as flat Array.
1680
1648
  <div class="method-source-code"
1681
1649
  id="to-ary-source">
1682
1650
  <pre>
1683
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 324</span>
1684
- 324: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ary</span>
1685
- 325: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">dup</span>
1686
- 326: <span class="ruby-keyword kw">end</span></pre>
1651
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 320</span>
1652
+ 320: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ary</span>
1653
+ 321: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">dup</span>
1654
+ 322: <span class="ruby-keyword kw">end</span></pre>
1687
1655
  </div>
1688
1656
 
1689
1657
  </div>
@@ -1714,10 +1682,10 @@ objects as flat Array.
1714
1682
  <div class="method-source-code"
1715
1683
  id="to-s-source">
1716
1684
  <pre>
1717
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 328</span>
1718
- 328: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
1719
- 329: <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>).<span class="ruby-identifier">to_s</span>
1720
- 330: <span class="ruby-keyword kw">end</span></pre>
1685
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 324</span>
1686
+ 324: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
1687
+ 325: <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>).<span class="ruby-identifier">to_s</span>
1688
+ 326: <span class="ruby-keyword kw">end</span></pre>
1721
1689
  </div>
1722
1690
 
1723
1691
  </div>
@@ -1752,14 +1720,14 @@ are no children.
1752
1720
  <div class="method-source-code"
1753
1721
  id="top-evel-tems-source">
1754
1722
  <pre>
1755
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 308</span>
1756
- 308: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">topLevelItems</span>
1757
- 309: <span class="ruby-identifier">items</span> = <span class="ruby-value">0</span>
1758
- 310: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1759
- 311: <span class="ruby-identifier">items</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1760
- 312: <span class="ruby-keyword kw">end</span>
1761
- 313: <span class="ruby-identifier">items</span>
1762
- 314: <span class="ruby-keyword kw">end</span></pre>
1723
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 304</span>
1724
+ 304: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">topLevelItems</span>
1725
+ 305: <span class="ruby-identifier">items</span> = <span class="ruby-value">0</span>
1726
+ 306: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1727
+ 307: <span class="ruby-identifier">items</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1728
+ 308: <span class="ruby-keyword kw">end</span>
1729
+ 309: <span class="ruby-identifier">items</span>
1730
+ 310: <span class="ruby-keyword kw">end</span></pre>
1763
1731
  </div>
1764
1732
 
1765
1733
  </div>
@@ -1792,12 +1760,12 @@ Return whether or not the attribute was user defined.
1792
1760
  <div class="method-source-code"
1793
1761
  id="user-efined--source">
1794
1762
  <pre>
1795
- <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 150</span>
1796
- 150: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">userDefined?</span>(<span class="ruby-identifier">attrId</span>)
1797
- 151: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
1798
- 152:
1799
- 153: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">userDefined</span>
1800
- 154: <span class="ruby-keyword kw">end</span></pre>
1763
+ <span class="ruby-comment cmt"># File lib/PropertySet.rb, line 146</span>
1764
+ 146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">userDefined?</span>(<span class="ruby-identifier">attrId</span>)
1765
+ 147: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
1766
+ 148:
1767
+ 149: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">userDefined</span>
1768
+ 150: <span class="ruby-keyword kw">end</span></pre>
1801
1769
  </div>
1802
1770
 
1803
1771
  </div>