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
@@ -137,6 +137,8 @@
137
137
 
138
138
  <li><a href="../../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
139
139
 
140
+ <li><a href="../../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
141
+
140
142
  <li><a href="../../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
141
143
 
142
144
  <li><a href="../../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -215,6 +217,8 @@
215
217
 
216
218
  <li><a href="../../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
217
219
 
220
+ <li><a href="../../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
221
+
218
222
  <li><a href="../../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
219
223
 
220
224
  <li><a href="../../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -247,6 +251,8 @@
247
251
 
248
252
  <li><a href="../../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
249
253
 
254
+ <li><a href="../../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
255
+
250
256
  <li><a href="../../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
251
257
 
252
258
  <li><a href="../../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -527,6 +533,8 @@
527
533
 
528
534
  <li><a href="../../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
529
535
 
536
+ <li><a href="../../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
537
+
530
538
  <li><a href="../../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
531
539
 
532
540
  <li><a href="../../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -553,8 +561,6 @@
553
561
 
554
562
  <li><a href="../../String.html">String</a></li>
555
563
 
556
- <li><a href="../../StringIO.html">StringIO</a></li>
557
-
558
564
  </ul>
559
565
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
560
566
  </div>
@@ -703,17 +709,17 @@ The transitions are hashed by the token that would trigger this transition.
703
709
  <div class="method-source-code"
704
710
  id="new-source">
705
711
  <pre>
706
- <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 84</span>
707
- 84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">pattern</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">index</span> = <span class="ruby-value">0</span>)
708
- 85: <span class="ruby-ivar">@rule</span> = <span class="ruby-identifier">rule</span>
709
- 86: <span class="ruby-ivar">@pattern</span> = <span class="ruby-identifier">pattern</span>
710
- 87: <span class="ruby-ivar">@index</span> = <span class="ruby-identifier">index</span>
711
- 88: <span class="ruby-comment cmt"># Starting states are always reduceable. Other states may or may not be</span>
712
- 89: <span class="ruby-comment cmt"># reduceable. For now, we assume they are not.</span>
713
- 90: <span class="ruby-ivar">@noReduce</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">nil?</span>
714
- 91:
715
- 92: <span class="ruby-ivar">@transitions</span> = {}
716
- 93: <span class="ruby-keyword kw">end</span></pre>
712
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 85</span>
713
+ 85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">pattern</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">index</span> = <span class="ruby-value">0</span>)
714
+ 86: <span class="ruby-ivar">@rule</span> = <span class="ruby-identifier">rule</span>
715
+ 87: <span class="ruby-ivar">@pattern</span> = <span class="ruby-identifier">pattern</span>
716
+ 88: <span class="ruby-ivar">@index</span> = <span class="ruby-identifier">index</span>
717
+ 89: <span class="ruby-comment cmt"># Starting states are always reduceable. Other states may or may not be</span>
718
+ 90: <span class="ruby-comment cmt"># reduceable. For now, we assume they are not.</span>
719
+ 91: <span class="ruby-ivar">@noReduce</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">nil?</span>
720
+ 92:
721
+ 93: <span class="ruby-ivar">@transitions</span> = {}
722
+ 94: <span class="ruby-keyword kw">end</span></pre>
717
723
  </div>
718
724
 
719
725
  </div>
@@ -754,16 +760,16 @@ href="State.html">State</a>.
754
760
  <div class="method-source-code"
755
761
  id="add-ransition-source">
756
762
  <pre>
757
- <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 110</span>
758
- 110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addTransition</span>(<span class="ruby-identifier">token</span>, <span class="ruby-identifier">nextState</span>, <span class="ruby-identifier">stateStack</span>, <span class="ruby-identifier">loopBack</span>)
759
- 111: <span class="ruby-identifier">tr</span> = <span class="ruby-constant">StateTransition</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">token</span>, <span class="ruby-identifier">nextState</span>, <span class="ruby-identifier">stateStack</span>, <span class="ruby-identifier">loopBack</span>)
760
- 112: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@transitions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">tr</span>.<span class="ruby-identifier">tokenType</span>)
761
- 113: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Ambiguous transition for #{tr.tokenType} in \n#{self}\n&quot;</span> <span class="ruby-operator">+</span>
762
- 114: <span class="ruby-value str">&quot;The following transition both match:\n&quot;</span> <span class="ruby-operator">+</span>
763
- 115: <span class="ruby-node">&quot; #{tr}\n #{@transitions[tr.tokenType]}&quot;</span>
764
- 116: <span class="ruby-keyword kw">end</span>
765
- 117: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">tr</span>.<span class="ruby-identifier">tokenType</span>] = <span class="ruby-identifier">tr</span>
766
- 118: <span class="ruby-keyword kw">end</span></pre>
763
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 111</span>
764
+ 111: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addTransition</span>(<span class="ruby-identifier">token</span>, <span class="ruby-identifier">nextState</span>, <span class="ruby-identifier">stateStack</span>, <span class="ruby-identifier">loopBack</span>)
765
+ 112: <span class="ruby-identifier">tr</span> = <span class="ruby-constant">StateTransition</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">token</span>, <span class="ruby-identifier">nextState</span>, <span class="ruby-identifier">stateStack</span>, <span class="ruby-identifier">loopBack</span>)
766
+ 113: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@transitions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">tr</span>.<span class="ruby-identifier">tokenType</span>)
767
+ 114: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Ambiguous transition for #{tr.tokenType} in \n#{self}\n&quot;</span> <span class="ruby-operator">+</span>
768
+ 115: <span class="ruby-value str">&quot;The following transition both match:\n&quot;</span> <span class="ruby-operator">+</span>
769
+ 116: <span class="ruby-node">&quot; #{tr}\n #{@transitions[tr.tokenType]}&quot;</span>
770
+ 117: <span class="ruby-keyword kw">end</span>
771
+ 118: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">tr</span>.<span class="ruby-identifier">tokenType</span>] = <span class="ruby-identifier">tr</span>
772
+ 119: <span class="ruby-keyword kw">end</span></pre>
767
773
  </div>
768
774
 
769
775
  </div>
@@ -799,17 +805,17 @@ of the constructor.
799
805
  <div class="method-source-code"
800
806
  id="add-ransitions-source">
801
807
  <pre>
802
- <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 98</span>
803
- 98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addTransitions</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>)
804
- 99: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>
805
- 100: <span class="ruby-comment cmt"># This is an normal state node.</span>
806
- 101: <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">addTransitionsToState</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>, [], <span class="ruby-keyword kw">self</span>,
807
- 102: <span class="ruby-ivar">@rule</span>, <span class="ruby-ivar">@index</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-keyword kw">false</span>)
808
- 103: <span class="ruby-keyword kw">else</span>
809
- 104: <span class="ruby-comment cmt"># This is a start node.</span>
810
- 105: <span class="ruby-ivar">@rule</span>.<span class="ruby-identifier">addTransitionsToState</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>, [], <span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">false</span>)
811
- 106: <span class="ruby-keyword kw">end</span>
812
- 107: <span class="ruby-keyword kw">end</span></pre>
808
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 99</span>
809
+ 99: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addTransitions</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>)
810
+ 100: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>
811
+ 101: <span class="ruby-comment cmt"># This is an normal state node.</span>
812
+ 102: <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">addTransitionsToState</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>, [], <span class="ruby-keyword kw">self</span>,
813
+ 103: <span class="ruby-ivar">@rule</span>, <span class="ruby-ivar">@index</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-keyword kw">false</span>)
814
+ 104: <span class="ruby-keyword kw">else</span>
815
+ 105: <span class="ruby-comment cmt"># This is a start node.</span>
816
+ 106: <span class="ruby-ivar">@rule</span>.<span class="ruby-identifier">addTransitionsToState</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>, [], <span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">false</span>)
817
+ 107: <span class="ruby-keyword kw">end</span>
818
+ 108: <span class="ruby-keyword kw">end</span></pre>
813
819
  </div>
814
820
 
815
821
  </div>
@@ -843,14 +849,14 @@ transitions for this <a href="State.html">State</a>.
843
849
  <div class="method-source-code"
844
850
  id="expected-okens-source">
845
851
  <pre>
846
- <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 135</span>
847
- 135: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expectedTokens</span>
848
- 136: <span class="ruby-identifier">tokens</span> = []
849
- 137: <span class="ruby-ivar">@transitions</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
850
- 138: <span class="ruby-identifier">tokens</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{t.is_a?(String) ? &quot;'#{t}'&quot; : &quot;:#{t}&quot;}&quot;</span>
851
- 139: <span class="ruby-keyword kw">end</span>
852
- 140: <span class="ruby-identifier">tokens</span>
853
- 141: <span class="ruby-keyword kw">end</span></pre>
852
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 136</span>
853
+ 136: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expectedTokens</span>
854
+ 137: <span class="ruby-identifier">tokens</span> = []
855
+ 138: <span class="ruby-ivar">@transitions</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
856
+ 139: <span class="ruby-identifier">tokens</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{t.is_a?(String) ? &quot;'#{t}'&quot; : &quot;:#{t}&quot;}&quot;</span>
857
+ 140: <span class="ruby-keyword kw">end</span>
858
+ 141: <span class="ruby-identifier">tokens</span>
859
+ 142: <span class="ruby-keyword kw">end</span></pre>
854
860
  </div>
855
861
 
856
862
  </div>
@@ -884,34 +890,34 @@ Used for debugging only.
884
890
  <div class="method-source-code"
885
891
  id="to-s-source">
886
892
  <pre>
887
- <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 145</span>
888
- 145: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">short</span> = <span class="ruby-keyword kw">false</span>)
889
- 146: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">short</span>
890
- 147: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>
891
- 148: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;#{rule.name} &quot;</span> <span class="ruby-operator">+</span>
892
- 149: <span class="ruby-node">&quot;#{rule.patterns.index(@pattern)} #{@index}&quot;</span>
893
- 150: <span class="ruby-keyword kw">else</span>
894
- 151: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;#{rule.name} (Starting Node)&quot;</span>
895
- 152: <span class="ruby-keyword kw">end</span>
896
- 153: <span class="ruby-keyword kw">else</span>
897
- 154: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>
898
- 155: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;=== State: #{rule.name} &quot;</span> <span class="ruby-operator">+</span>
899
- 156: <span class="ruby-node">&quot;#{rule.patterns.index(@pattern)} #{@index}&quot;</span> <span class="ruby-operator">+</span>
900
- 157: <span class="ruby-node">&quot; #{@noReduce ? '' : '(R)'}&quot;</span> <span class="ruby-operator">+</span>
901
- 158: <span class="ruby-node">&quot; #{'=' * 40}\nPattern: #{@pattern}\n&quot;</span>
902
- 159: <span class="ruby-keyword kw">else</span>
903
- 160: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;=== State: #{rule.name} (Starting Node) #{'=' * 30}\n&quot;</span>
904
- 161: <span class="ruby-keyword kw">end</span>
905
- 162:
906
- 163: <span class="ruby-ivar">@transitions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span>, <span class="ruby-identifier">target</span><span class="ruby-operator">|</span>
907
- 164: <span class="ruby-identifier">targetStr</span> = <span class="ruby-identifier">target</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">target</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot;&lt;EOF&gt;&quot;</span>
908
- 165: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot; #{type.is_a?(String) ? &quot;'#{type}'&quot; : &quot;:#{type}&quot;}&quot;</span> <span class="ruby-operator">+</span>
909
- 166: <span class="ruby-node">&quot; =&gt; #{targetStr}\n&quot;</span>
910
- 167: <span class="ruby-keyword kw">end</span>
911
- 168: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{'=' * 76}\n&quot;</span>
912
- 169: <span class="ruby-keyword kw">end</span>
913
- 170: <span class="ruby-identifier">str</span>
914
- 171: <span class="ruby-keyword kw">end</span></pre>
893
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 146</span>
894
+ 146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">short</span> = <span class="ruby-keyword kw">false</span>)
895
+ 147: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">short</span>
896
+ 148: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>
897
+ 149: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;#{rule.name} &quot;</span> <span class="ruby-operator">+</span>
898
+ 150: <span class="ruby-node">&quot;#{rule.patterns.index(@pattern)} #{@index}&quot;</span>
899
+ 151: <span class="ruby-keyword kw">else</span>
900
+ 152: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;#{rule.name} (Starting Node)&quot;</span>
901
+ 153: <span class="ruby-keyword kw">end</span>
902
+ 154: <span class="ruby-keyword kw">else</span>
903
+ 155: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>
904
+ 156: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;=== State: #{rule.name} &quot;</span> <span class="ruby-operator">+</span>
905
+ 157: <span class="ruby-node">&quot;#{rule.patterns.index(@pattern)} #{@index}&quot;</span> <span class="ruby-operator">+</span>
906
+ 158: <span class="ruby-node">&quot; #{@noReduce ? '' : '(R)'}&quot;</span> <span class="ruby-operator">+</span>
907
+ 159: <span class="ruby-node">&quot; #{'=' * 40}\nPattern: #{@pattern}\n&quot;</span>
908
+ 160: <span class="ruby-keyword kw">else</span>
909
+ 161: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;=== State: #{rule.name} (Starting Node) #{'=' * 30}\n&quot;</span>
910
+ 162: <span class="ruby-keyword kw">end</span>
911
+ 163:
912
+ 164: <span class="ruby-ivar">@transitions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span>, <span class="ruby-identifier">target</span><span class="ruby-operator">|</span>
913
+ 165: <span class="ruby-identifier">targetStr</span> = <span class="ruby-identifier">target</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">target</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot;&lt;EOF&gt;&quot;</span>
914
+ 166: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot; #{type.is_a?(String) ? &quot;'#{type}'&quot; : &quot;:#{type}&quot;}&quot;</span> <span class="ruby-operator">+</span>
915
+ 167: <span class="ruby-node">&quot; =&gt; #{targetStr}\n&quot;</span>
916
+ 168: <span class="ruby-keyword kw">end</span>
917
+ 169: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{'=' * 76}\n&quot;</span>
918
+ 170: <span class="ruby-keyword kw">end</span>
919
+ 171: <span class="ruby-identifier">str</span>
920
+ 172: <span class="ruby-keyword kw">end</span></pre>
915
921
  </div>
916
922
 
917
923
  </div>
@@ -944,18 +950,18 @@ Find the transition that matches <em>token</em>.
944
950
  <div class="method-source-code"
945
951
  id="transition-source">
946
952
  <pre>
947
- <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 121</span>
948
- 121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">transition</span>(<span class="ruby-identifier">token</span>)
949
- 122: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">:ID</span>
950
- 123: <span class="ruby-comment cmt"># The scanner cannot differentiate between IDs and literals that look</span>
951
- 124: <span class="ruby-comment cmt"># like IDs. So we look for literals first and then for IDs.</span>
952
- 125: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">token</span>[<span class="ruby-value">1</span>]] <span class="ruby-operator">||</span> <span class="ruby-ivar">@transitions</span>[<span class="ruby-value">:ID</span>]
953
- 126: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">:LITERAL</span>
954
- 127: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">token</span>[<span class="ruby-value">1</span>]]
955
- 128: <span class="ruby-keyword kw">else</span>
956
- 129: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>]]
957
- 130: <span class="ruby-keyword kw">end</span>
958
- 131: <span class="ruby-keyword kw">end</span></pre>
953
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 122</span>
954
+ 122: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">transition</span>(<span class="ruby-identifier">token</span>)
955
+ 123: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">:ID</span>
956
+ 124: <span class="ruby-comment cmt"># The scanner cannot differentiate between IDs and literals that look</span>
957
+ 125: <span class="ruby-comment cmt"># like IDs. So we look for literals first and then for IDs.</span>
958
+ 126: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">token</span>[<span class="ruby-value">1</span>]] <span class="ruby-operator">||</span> <span class="ruby-ivar">@transitions</span>[<span class="ruby-value">:ID</span>]
959
+ 127: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">:LITERAL</span>
960
+ 128: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">token</span>[<span class="ruby-value">1</span>]]
961
+ 129: <span class="ruby-keyword kw">else</span>
962
+ 130: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>]]
963
+ 131: <span class="ruby-keyword kw">end</span>
964
+ 132: <span class="ruby-keyword kw">end</span></pre>
959
965
  </div>
960
966
 
961
967
  </div>
@@ -129,6 +129,8 @@
129
129
 
130
130
  <li><a href="../../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
131
131
 
132
+ <li><a href="../../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
133
+
132
134
  <li><a href="../../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
133
135
 
134
136
  <li><a href="../../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -207,6 +209,8 @@
207
209
 
208
210
  <li><a href="../../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
209
211
 
212
+ <li><a href="../../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
213
+
210
214
  <li><a href="../../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
211
215
 
212
216
  <li><a href="../../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -239,6 +243,8 @@
239
243
 
240
244
  <li><a href="../../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
241
245
 
246
+ <li><a href="../../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
247
+
242
248
  <li><a href="../../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
243
249
 
244
250
  <li><a href="../../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -519,6 +525,8 @@
519
525
 
520
526
  <li><a href="../../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
521
527
 
528
+ <li><a href="../../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
529
+
522
530
  <li><a href="../../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
523
531
 
524
532
  <li><a href="../../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -545,8 +553,6 @@
545
553
 
546
554
  <li><a href="../../String.html">String</a></li>
547
555
 
548
- <li><a href="../../StringIO.html">StringIO</a></li>
549
-
550
556
  </ul>
551
557
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
552
558
  </div>
@@ -676,26 +682,26 @@ the start of the <a href="Rule.html">Rule</a> or not.
676
682
  <div class="method-source-code"
677
683
  id="new-source">
678
684
  <pre>
679
- <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 29</span>
680
- 29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">descriptor</span>, <span class="ruby-identifier">state</span>, <span class="ruby-identifier">stateStack</span>, <span class="ruby-identifier">loopBack</span>)
681
- 30: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">descriptor</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:length</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">descriptor</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-value">2</span>
682
- 31: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Bad parameter descriptor: #{descriptor} &quot;</span> <span class="ruby-operator">+</span>
683
- 32: <span class="ruby-node">&quot;of type #{descriptor.class}&quot;</span>
684
- 33: <span class="ruby-keyword kw">end</span>
685
- 34: <span class="ruby-ivar">@tokenType</span> = <span class="ruby-identifier">descriptor</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">:eof</span> <span class="ruby-operator">?</span> <span class="ruby-value">:eof</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">descriptor</span>[<span class="ruby-value">1</span>]
686
- 35:
687
- 36: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">state</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">State</span>)
688
- 37: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Bad parameter state: #{state} of type #{state.class}&quot;</span>
689
- 38: <span class="ruby-keyword kw">end</span>
690
- 39: <span class="ruby-ivar">@state</span> = <span class="ruby-identifier">state</span>
691
- 40:
692
- 41: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">stateStack</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
693
- 42: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Bad parameter stateStack: #{stateStack} &quot;</span> <span class="ruby-operator">+</span>
694
- 43: <span class="ruby-node">&quot;of type #{stateStack.class}&quot;</span>
695
- 44: <span class="ruby-keyword kw">end</span>
696
- 45: <span class="ruby-ivar">@stateStack</span> = <span class="ruby-identifier">stateStack</span>.<span class="ruby-identifier">dup</span>
697
- 46: <span class="ruby-ivar">@loopBack</span> = <span class="ruby-identifier">loopBack</span>
698
- 47: <span class="ruby-keyword kw">end</span></pre>
685
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 30</span>
686
+ 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">descriptor</span>, <span class="ruby-identifier">state</span>, <span class="ruby-identifier">stateStack</span>, <span class="ruby-identifier">loopBack</span>)
687
+ 31: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">descriptor</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:length</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">descriptor</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-value">2</span>
688
+ 32: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Bad parameter descriptor: #{descriptor} &quot;</span> <span class="ruby-operator">+</span>
689
+ 33: <span class="ruby-node">&quot;of type #{descriptor.class}&quot;</span>
690
+ 34: <span class="ruby-keyword kw">end</span>
691
+ 35: <span class="ruby-ivar">@tokenType</span> = <span class="ruby-identifier">descriptor</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">:eof</span> <span class="ruby-operator">?</span> <span class="ruby-value">:eof</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">descriptor</span>[<span class="ruby-value">1</span>]
692
+ 36:
693
+ 37: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">state</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">State</span>)
694
+ 38: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Bad parameter state: #{state} of type #{state.class}&quot;</span>
695
+ 39: <span class="ruby-keyword kw">end</span>
696
+ 40: <span class="ruby-ivar">@state</span> = <span class="ruby-identifier">state</span>
697
+ 41:
698
+ 42: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">stateStack</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
699
+ 43: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Bad parameter stateStack: #{stateStack} &quot;</span> <span class="ruby-operator">+</span>
700
+ 44: <span class="ruby-node">&quot;of type #{stateStack.class}&quot;</span>
701
+ 45: <span class="ruby-keyword kw">end</span>
702
+ 46: <span class="ruby-ivar">@stateStack</span> = <span class="ruby-identifier">stateStack</span>.<span class="ruby-identifier">dup</span>
703
+ 47: <span class="ruby-ivar">@loopBack</span> = <span class="ruby-identifier">loopBack</span>
704
+ 48: <span class="ruby-keyword kw">end</span></pre>
699
705
  </div>
700
706
 
701
707
  </div>
@@ -735,20 +741,20 @@ used for debugging.
735
741
  <div class="method-source-code"
736
742
  id="to-s-source">
737
743
  <pre>
738
- <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 51</span>
739
- 51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
740
- 52: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;#{@state.rule.name}, &quot;</span> <span class="ruby-operator">+</span>
741
- 53: <span class="ruby-node">&quot;#{@state.rule.patterns.index(@state.pattern)}, #{@state.index} &quot;</span>
742
- 54: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@stateStack</span>.<span class="ruby-identifier">empty?</span>
743
- 55: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;(&quot;</span>
744
- 56: <span class="ruby-ivar">@stateStack</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
745
- 57: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{s.rule.name} &quot;</span>
746
- 58: <span class="ruby-keyword kw">end</span>
747
- 59: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;)&quot;</span>
748
- 60: <span class="ruby-keyword kw">end</span>
749
- 61: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'(loop)'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@loopBack</span>
750
- 62: <span class="ruby-identifier">str</span>
751
- 63: <span class="ruby-keyword kw">end</span></pre>
744
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 52</span>
745
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
746
+ 53: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;#{@state.rule.name}, &quot;</span> <span class="ruby-operator">+</span>
747
+ 54: <span class="ruby-node">&quot;#{@state.rule.patterns.index(@state.pattern)}, #{@state.index} &quot;</span>
748
+ 55: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@stateStack</span>.<span class="ruby-identifier">empty?</span>
749
+ 56: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;(&quot;</span>
750
+ 57: <span class="ruby-ivar">@stateStack</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
751
+ 58: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{s.rule.name} &quot;</span>
752
+ 59: <span class="ruby-keyword kw">end</span>
753
+ 60: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;)&quot;</span>
754
+ 61: <span class="ruby-keyword kw">end</span>
755
+ 62: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'(loop)'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@loopBack</span>
756
+ 63: <span class="ruby-identifier">str</span>
757
+ 64: <span class="ruby-keyword kw">end</span></pre>
752
758
  </div>
753
759
 
754
760
  </div>
@@ -129,6 +129,8 @@
129
129
 
130
130
  <li><a href="../../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
131
131
 
132
+ <li><a href="../../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
133
+
132
134
  <li><a href="../../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
133
135
 
134
136
  <li><a href="../../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -207,6 +209,8 @@
207
209
 
208
210
  <li><a href="../../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
209
211
 
212
+ <li><a href="../../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
213
+
210
214
  <li><a href="../../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
211
215
 
212
216
  <li><a href="../../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -239,6 +243,8 @@
239
243
 
240
244
  <li><a href="../../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
241
245
 
246
+ <li><a href="../../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
247
+
242
248
  <li><a href="../../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
243
249
 
244
250
  <li><a href="../../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -519,6 +525,8 @@
519
525
 
520
526
  <li><a href="../../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
521
527
 
528
+ <li><a href="../../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
529
+
522
530
  <li><a href="../../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
523
531
 
524
532
  <li><a href="../../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -545,8 +553,6 @@
545
553
 
546
554
  <li><a href="../../String.html">String</a></li>
547
555
 
548
- <li><a href="../../StringIO.html">StringIO</a></li>
549
-
550
556
  </ul>
551
557
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
552
558
  </div>
@@ -599,10 +605,10 @@ with a slightly different behaviour.
599
605
  <div class="method-source-code"
600
606
  id="new-source">
601
607
  <pre>
602
- <span class="ruby-comment cmt"># File lib/TextParser.rb, line 57</span>
603
- 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
604
- 58: <span class="ruby-keyword kw">super</span>
605
- 59: <span class="ruby-keyword kw">end</span></pre>
608
+ <span class="ruby-comment cmt"># File lib/TextParser.rb, line 58</span>
609
+ 58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
610
+ 59: <span class="ruby-keyword kw">super</span>
611
+ 60: <span class="ruby-keyword kw">end</span></pre>
606
612
  </div>
607
613
 
608
614
  </div>
@@ -644,14 +650,14 @@ Array.
644
650
  <div class="method-source-code"
645
651
  id="--source">
646
652
  <pre>
647
- <span class="ruby-comment cmt"># File lib/TextParser.rb, line 65</span>
648
- 65: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;&lt;</span>(<span class="ruby-identifier">arg</span>)
649
- 66: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TextParserResultArray</span>)
650
- 67: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">arg</span>)
651
- 68: <span class="ruby-keyword kw">else</span>
652
- 69: <span class="ruby-keyword kw">super</span>
653
- 70: <span class="ruby-keyword kw">end</span>
654
- 71: <span class="ruby-keyword kw">end</span></pre>
653
+ <span class="ruby-comment cmt"># File lib/TextParser.rb, line 66</span>
654
+ 66: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;&lt;</span>(<span class="ruby-identifier">arg</span>)
655
+ 67: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TextParserResultArray</span>)
656
+ 68: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">arg</span>)
657
+ 69: <span class="ruby-keyword kw">else</span>
658
+ 70: <span class="ruby-keyword kw">super</span>
659
+ 71: <span class="ruby-keyword kw">end</span>
660
+ 72: <span class="ruby-keyword kw">end</span></pre>
655
661
  </div>
656
662
 
657
663
  </div>
@@ -127,6 +127,8 @@
127
127
 
128
128
  <li><a href="../../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
129
129
 
130
+ <li><a href="../../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
131
+
130
132
  <li><a href="../../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
131
133
 
132
134
  <li><a href="../../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -205,6 +207,8 @@
205
207
 
206
208
  <li><a href="../../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
207
209
 
210
+ <li><a href="../../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
211
+
208
212
  <li><a href="../../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
209
213
 
210
214
  <li><a href="../../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -237,6 +241,8 @@
237
241
 
238
242
  <li><a href="../../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
239
243
 
244
+ <li><a href="../../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
245
+
240
246
  <li><a href="../../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
241
247
 
242
248
  <li><a href="../../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -517,6 +523,8 @@
517
523
 
518
524
  <li><a href="../../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
519
525
 
526
+ <li><a href="../../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
527
+
520
528
  <li><a href="../../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
521
529
 
522
530
  <li><a href="../../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -543,8 +551,6 @@
543
551
 
544
552
  <li><a href="../../String.html">String</a></li>
545
553
 
546
- <li><a href="../../StringIO.html">StringIO</a></li>
547
-
548
554
  </ul>
549
555
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
550
556
  </div>
@@ -672,17 +678,17 @@ Strings that hold the name and textual description of the parser token.
672
678
  <div class="method-source-code"
673
679
  id="new-source">
674
680
  <pre>
675
- <span class="ruby-comment cmt"># File lib/TextParser/TokenDoc.rb, line 25</span>
676
- 25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">arg</span>)
677
- 26: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
678
- 27: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
679
- 28: <span class="ruby-ivar">@text</span> = <span class="ruby-identifier">arg</span>
680
- 29: <span class="ruby-keyword kw">else</span>
681
- 30: <span class="ruby-ivar">@pattern</span> = <span class="ruby-identifier">arg</span>
682
- 31: <span class="ruby-keyword kw">end</span>
683
- 32: <span class="ruby-ivar">@typeSpec</span> = <span class="ruby-keyword kw">nil</span>
684
- 33: <span class="ruby-ivar">@pattern</span> = <span class="ruby-keyword kw">nil</span>
685
- 34: <span class="ruby-keyword kw">end</span></pre>
681
+ <span class="ruby-comment cmt"># File lib/TextParser/TokenDoc.rb, line 26</span>
682
+ 26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">arg</span>)
683
+ 27: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
684
+ 28: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
685
+ 29: <span class="ruby-ivar">@text</span> = <span class="ruby-identifier">arg</span>
686
+ 30: <span class="ruby-keyword kw">else</span>
687
+ 31: <span class="ruby-ivar">@pattern</span> = <span class="ruby-identifier">arg</span>
688
+ 32: <span class="ruby-keyword kw">end</span>
689
+ 33: <span class="ruby-ivar">@typeSpec</span> = <span class="ruby-keyword kw">nil</span>
690
+ 34: <span class="ruby-ivar">@pattern</span> = <span class="ruby-keyword kw">nil</span>
691
+ 35: <span class="ruby-keyword kw">end</span></pre>
686
692
  </div>
687
693
 
688
694
  </div>