xamplr 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. data/CHANGES.txt +13 -0
  2. data/LICENSE +3 -0
  3. data/README.rdoc +26 -0
  4. data/README.rdoc.orig +118 -0
  5. data/Rakefile +85 -0
  6. data/VERSION.yml +4 -0
  7. data/examples/random-people-shared-addresses/Makefile +16 -0
  8. data/examples/random-people-shared-addresses/batch-load-users.rb +83 -0
  9. data/examples/random-people-shared-addresses/find-mentions.rb +47 -0
  10. data/examples/random-people-shared-addresses/find-people-by-address.rb +104 -0
  11. data/examples/random-people-shared-addresses/optimise.rb +16 -0
  12. data/examples/random-people-shared-addresses/people.rb +35 -0
  13. data/examples/random-people-shared-addresses/query.rb +75 -0
  14. data/examples/random-people-shared-addresses/query2.rb +73 -0
  15. data/examples/random-people-shared-addresses/random-names.csv +10000 -0
  16. data/examples/random-people-shared-addresses/settings.rb +3 -0
  17. data/examples/random-people-shared-addresses/what-to-query-on.rb +82 -0
  18. data/examples/random-people-shared-addresses/xampl-gen.rb +36 -0
  19. data/examples/random-people-shared-addresses/xml/people.xml +14 -0
  20. data/examples/random-people/Makefile +16 -0
  21. data/examples/random-people/batch-load-users.rb +61 -0
  22. data/examples/random-people/optimise.rb +16 -0
  23. data/examples/random-people/people.rb +22 -0
  24. data/examples/random-people/query.rb +73 -0
  25. data/examples/random-people/query2.rb +73 -0
  26. data/examples/random-people/random-names.csv +10000 -0
  27. data/examples/random-people/rawtc.rb +91 -0
  28. data/examples/random-people/settings.rb +3 -0
  29. data/examples/random-people/what-to-query-on.rb +80 -0
  30. data/examples/random-people/xampl-gen.rb +36 -0
  31. data/examples/random-people/xml/people.xml +11 -0
  32. data/examples/read-testing/Makefile +10 -0
  33. data/examples/read-testing/load.rb +65 -0
  34. data/examples/read-testing/read.rb +51 -0
  35. data/examples/read-testing/rrr.rb +87 -0
  36. data/examples/read-testing/settings.rb +2 -0
  37. data/examples/read-testing/xampl-gen.rb +36 -0
  38. data/examples/read-testing/xml/text.xml +8 -0
  39. data/examples/tokyo-cabinet-experimental/expt-query.rb +42 -0
  40. data/examples/tokyo-cabinet-experimental/expt-query2.rb +42 -0
  41. data/examples/tokyo-cabinet-experimental/expt-query3.rb +41 -0
  42. data/examples/tokyo-cabinet-experimental/expt-reader.rb +32 -0
  43. data/examples/tokyo-cabinet-experimental/expt.rb +61 -0
  44. data/examples/tokyo-cabinet-experimental/xampl-gen.rb +36 -0
  45. data/examples/tokyo-cabinet-experimental/xml/tcx.xml +6 -0
  46. data/lib/xampl-generator.rb +3 -0
  47. data/lib/xampl.rb +3 -0
  48. data/lib/xamplr-generator.rb +10 -0
  49. data/lib/xamplr.rb +37 -0
  50. data/lib/xamplr/README-POSSIBLE-PROBLEMS +5 -0
  51. data/lib/xamplr/TODO +1 -0
  52. data/lib/xamplr/exceptions.rb +97 -0
  53. data/lib/xamplr/from-xml-orig.rb +350 -0
  54. data/lib/xamplr/from-xml.rb +439 -0
  55. data/lib/xamplr/gen-elements.xml +6230 -0
  56. data/lib/xamplr/gen.elements.xml +108 -0
  57. data/lib/xamplr/generate-elements.rb +15 -0
  58. data/lib/xamplr/generator.rb +5 -0
  59. data/lib/xamplr/graphml-out.rb +470 -0
  60. data/lib/xamplr/handwritten/example.rb +698 -0
  61. data/lib/xamplr/handwritten/hand-example.rb +533 -0
  62. data/lib/xamplr/handwritten/test-handwritten.rb +873 -0
  63. data/lib/xamplr/indexed-array.rb +115 -0
  64. data/lib/xamplr/mixins.rb +397 -0
  65. data/lib/xamplr/my.gen.elements.xml +461 -0
  66. data/lib/xamplr/notifications.rb +57 -0
  67. data/lib/xamplr/obsolete/fsdb.rb +62 -0
  68. data/lib/xamplr/persist-to-xml.rb +249 -0
  69. data/lib/xamplr/persistence.rb +522 -0
  70. data/lib/xamplr/persistence.rb.more_thread_safe +771 -0
  71. data/lib/xamplr/persistence.rb.partially_thread_safe +763 -0
  72. data/lib/xamplr/persister.rb +310 -0
  73. data/lib/xamplr/persisters/caches.rb +186 -0
  74. data/lib/xamplr/persisters/caching.rb +172 -0
  75. data/lib/xamplr/persisters/filesystem.rb +60 -0
  76. data/lib/xamplr/persisters/in-memory.rb +180 -0
  77. data/lib/xamplr/persisters/simple.rb +59 -0
  78. data/lib/xamplr/persisters/tokyo-cabinet.rb +641 -0
  79. data/lib/xamplr/simpleTemplate/danger.rx +4 -0
  80. data/lib/xamplr/simpleTemplate/obsolete/input-c.r4 +35 -0
  81. data/lib/xamplr/simpleTemplate/obsolete/play.r6.txt +12 -0
  82. data/lib/xamplr/simpleTemplate/obsolete/play_more.r6.txt +20 -0
  83. data/lib/xamplr/simpleTemplate/obsolete/test001.r5 +8 -0
  84. data/lib/xamplr/simpleTemplate/obsolete/test002.r5 +13 -0
  85. data/lib/xamplr/simpleTemplate/obsolete/test003.r5 +37 -0
  86. data/lib/xamplr/simpleTemplate/old/r6.000.rb +122 -0
  87. data/lib/xamplr/simpleTemplate/old/r6.001.rb +145 -0
  88. data/lib/xamplr/simpleTemplate/play.r6 +12 -0
  89. data/lib/xamplr/simpleTemplate/play_more.r6 +20 -0
  90. data/lib/xamplr/simpleTemplate/play_noblanks.r6 +21 -0
  91. data/lib/xamplr/simpleTemplate/playq.r6 +16 -0
  92. data/lib/xamplr/simpleTemplate/r6.rb +87 -0
  93. data/lib/xamplr/simpleTemplate/simple-template.rb +75 -0
  94. data/lib/xamplr/templates/child.template +47 -0
  95. data/lib/xamplr/templates/child_indexed.template +89 -0
  96. data/lib/xamplr/templates/child_modules.template +5 -0
  97. data/lib/xamplr/templates/element_classes.template +11 -0
  98. data/lib/xamplr/templates/element_data.template +282 -0
  99. data/lib/xamplr/templates/element_empty.template +285 -0
  100. data/lib/xamplr/templates/element_mixed.template +277 -0
  101. data/lib/xamplr/templates/element_simple.template +276 -0
  102. data/lib/xamplr/templates/package.template +26 -0
  103. data/lib/xamplr/test-support/Makefile +47 -0
  104. data/lib/xamplr/test-support/bench-cache.rb +80 -0
  105. data/lib/xamplr/test-support/bench-script.rb +21 -0
  106. data/lib/xamplr/test-support/bench.rb +116 -0
  107. data/lib/xamplr/test-support/bench2.rb +132 -0
  108. data/lib/xamplr/test-support/test-cache.rb +147 -0
  109. data/lib/xamplr/test-support/test-data/binding.xml +7 -0
  110. data/lib/xamplr/test-support/test-data/example.xml +14 -0
  111. data/lib/xamplr/test-support/test-data/internationalization-utf8.txt +1 -0
  112. data/lib/xamplr/test-support/test-data/labels.xml +37 -0
  113. data/lib/xamplr/test-support/test-data/labels001.xml +38 -0
  114. data/lib/xamplr/test-support/test-deep-change.rb +135 -0
  115. data/lib/xamplr/test-support/test-elements.rb +109 -0
  116. data/lib/xamplr/test-support/test-indexed-array.rb +169 -0
  117. data/lib/xamplr/test-support/test-misc.rb +73 -0
  118. data/lib/xamplr/test-support/test-names.rb +67 -0
  119. data/lib/xamplr/test-support/test-rollback.rb +106 -0
  120. data/lib/xamplr/test-support/test.rb +1504 -0
  121. data/lib/xamplr/to-ruby.rb +220 -0
  122. data/lib/xamplr/to-xml.rb +158 -0
  123. data/lib/xamplr/version.rb +67 -0
  124. data/lib/xamplr/visitor.rb +140 -0
  125. data/lib/xamplr/visitors.rb +573 -0
  126. data/lib/xamplr/xampl-generator.rb +533 -0
  127. data/lib/xamplr/xampl-hand-generated.rb +1535 -0
  128. data/lib/xamplr/xampl-module.rb +36 -0
  129. data/lib/xamplr/xampl-object-internals.rb +6 -0
  130. data/lib/xamplr/xampl-object.rb +202 -0
  131. data/lib/xamplr/xampl-persisted-object.rb +122 -0
  132. data/lib/xamplr/xml-text.rb +117 -0
  133. data/lib/xamplr/xml/document.xml +7 -0
  134. data/lib/xamplr/xml/elements.xml +101 -0
  135. data/lib/xamplr/xml/elements000.xml +73 -0
  136. data/lib/xamplr/xml/example.xml +23 -0
  137. data/lib/xamplr/xml/options.xml +12 -0
  138. data/lib/xamplr/xml/uche.xml +38 -0
  139. data/lib/xamplr/yEd-sample.graphml +300 -0
  140. data/test/test_helper.rb +10 -0
  141. data/test/xamplr_test.rb +7 -0
  142. metadata +245 -0
@@ -0,0 +1,1535 @@
1
+ module XamplGenerator
2
+
3
+ require "xamplr"
4
+ include Xampl
5
+
6
+ XamplObject.ns_preferred_prefix("http://xampl.com/generator", "gen")
7
+
8
+ module ElementsAsChild
9
+ require "xamplr/indexed-array"
10
+
11
+ def elements_child
12
+ accessed
13
+ @elements_child
14
+ end
15
+
16
+ def elements_child=(v)
17
+ accessed
18
+ @elements_child = v
19
+ end
20
+
21
+ alias elements elements_child
22
+ alias elements= elements_child=
23
+
24
+ def init_elements_as_child
25
+ @elements_child = IndexedArray.new
26
+ end
27
+
28
+ def add_elements(elements)
29
+ accessed
30
+ index = elements.get_the_index
31
+ if (nil == index) then
32
+ throw "no value for the index 'pid' of elements defined in : " << elements.pp_xml
33
+ end
34
+
35
+ existing = @elements_child[index]
36
+
37
+ self.remove_elements(index) if existing and (existing != elements)
38
+
39
+ @children << elements
40
+ @elements_child[index] = elements
41
+
42
+ elements.add_parent(self)
43
+
44
+ changed
45
+ return elements
46
+ end
47
+
48
+ def new_elements(index)
49
+ accessed
50
+
51
+ elements = nil
52
+ elements = Elements.lookup(index) if Xampl.persister and Xampl.persister.automatic
53
+ elements = Elements.new(index) unless elements
54
+
55
+ yield(elements) if block_given?
56
+ return add_elements(elements)
57
+ end
58
+
59
+ def ensure_elements(index)
60
+ accessed
61
+
62
+ elements = @elements_child[index]
63
+ return elements if elements
64
+
65
+ elements = Elements.lookup(index) if Xampl.persister and Xampl.persister.automatic
66
+ elements = Elements.new(index) unless elements
67
+
68
+ yield(elements) if block_given?
69
+ return add_elements(elements)
70
+ end
71
+
72
+ def remove_elements(index)
73
+ accessed
74
+ changed
75
+ unless String === index or Symbol === index then
76
+ index = index.get_the_index
77
+ end
78
+ elements = @elements_child.delete(index) if index
79
+ @children.delete(elements)
80
+ end
81
+ end
82
+
83
+ module ElementAsChild
84
+ require "xamplr/indexed-array"
85
+
86
+ def element_child
87
+ accessed
88
+ @element_child
89
+ end
90
+
91
+ def element_child=(v)
92
+ accessed
93
+ @element_child = v
94
+ end
95
+
96
+ alias element element_child
97
+ alias element= element_child=
98
+
99
+ def init_element_as_child
100
+ @element_child = IndexedArray.new
101
+ end
102
+
103
+ def add_element(element)
104
+ accessed
105
+ index = element.get_the_index
106
+ if (nil == index) then
107
+ throw "no value for the index 'name' of element defined in : " << element.pp_xml
108
+ end
109
+
110
+ existing = @element_child[index]
111
+
112
+ self.remove_element(index) if existing and (existing != element)
113
+
114
+ @children << element
115
+ @element_child[index] = element
116
+
117
+ element.add_parent(self)
118
+
119
+ changed
120
+ return element
121
+ end
122
+
123
+ def new_element(index)
124
+ accessed
125
+
126
+ element = nil
127
+ element = Element.new(index) unless element
128
+
129
+ yield(element) if block_given?
130
+ return add_element(element)
131
+ end
132
+
133
+ def ensure_element(index)
134
+ accessed
135
+
136
+ element = @element_child[index]
137
+ return element if element
138
+
139
+ element = Element.new(index) unless element
140
+
141
+ yield(element) if block_given?
142
+ return add_element(element)
143
+ end
144
+
145
+ def remove_element(index)
146
+ accessed
147
+ changed
148
+ unless String === index or Symbol === index then
149
+ index = index.get_the_index
150
+ end
151
+ element = @element_child.delete(index) if index
152
+ @children.delete(element)
153
+ end
154
+ end
155
+
156
+ module ChildElementAsChild
157
+ require "xamplr/indexed-array"
158
+
159
+ def child_element_child
160
+ accessed
161
+ @child_element_child
162
+ end
163
+
164
+ def child_element_child=(v)
165
+ accessed
166
+ @child_element_child = v
167
+ end
168
+
169
+ alias child_element child_element_child
170
+ alias child_element= child_element_child=
171
+
172
+ def init_child_element_as_child
173
+ @child_element_child = IndexedArray.new
174
+ end
175
+
176
+ def add_child_element(child_element)
177
+ accessed
178
+ index = child_element.get_the_index
179
+ if (nil == index) then
180
+ throw "no value for the index 'name' of child_element defined in : " << child_element.pp_xml
181
+ end
182
+
183
+ existing = @child_element_child[index]
184
+
185
+ self.remove_child_element(index) if existing and (existing != child_element)
186
+
187
+ @children << child_element
188
+ @child_element_child[index] = child_element
189
+
190
+ child_element.add_parent(self)
191
+
192
+ changed
193
+ return child_element
194
+ end
195
+
196
+ def new_child_element(index)
197
+ accessed
198
+
199
+ child_element = nil
200
+ child_element = ChildElement.new(index) unless child_element
201
+
202
+ yield(child_element) if block_given?
203
+ return add_child_element(child_element)
204
+ end
205
+
206
+ def ensure_child_element(index)
207
+ accessed
208
+
209
+ child_element = @child_element_child[index]
210
+ return child_element if child_element
211
+
212
+ child_element = ChildElement.new(index) unless child_element
213
+
214
+ yield(child_element) if block_given?
215
+ return add_child_element(child_element)
216
+ end
217
+
218
+ def remove_child_element(index)
219
+ accessed
220
+ changed
221
+ unless String === index or Symbol === index then
222
+ index = index.get_the_index
223
+ end
224
+ child_element = @child_element_child.delete(index) if index
225
+ @children.delete(child_element)
226
+ end
227
+ end
228
+
229
+ module AttributeAsChild
230
+ require "xamplr/indexed-array"
231
+
232
+ def attribute_child
233
+ accessed
234
+ @attribute_child
235
+ end
236
+
237
+ def attribute_child=(v)
238
+ accessed
239
+ @attribute_child = v
240
+ end
241
+
242
+ alias attribute attribute_child
243
+ alias attribute= attribute_child=
244
+
245
+ def init_attribute_as_child
246
+ @attribute_child = IndexedArray.new
247
+ end
248
+
249
+ def add_attribute(attribute)
250
+ accessed
251
+ index = attribute.get_the_index
252
+ if (nil == index) then
253
+ throw "no value for the index 'name' of attribute defined in : " << attribute.pp_xml
254
+ end
255
+
256
+ existing = @attribute_child[index]
257
+
258
+ self.remove_attribute(index) if existing and (existing != attribute)
259
+
260
+ @children << attribute
261
+ @attribute_child[index] = attribute
262
+
263
+ attribute.add_parent(self)
264
+
265
+ changed
266
+ return attribute
267
+ end
268
+
269
+ def new_attribute(index)
270
+ accessed
271
+
272
+ attribute = nil
273
+ attribute = Attribute.new(index) unless attribute
274
+
275
+ yield(attribute) if block_given?
276
+ return add_attribute(attribute)
277
+ end
278
+
279
+ def ensure_attribute(index)
280
+ accessed
281
+
282
+ attribute = @attribute_child[index]
283
+ return attribute if attribute
284
+
285
+ attribute = Attribute.new(index) unless attribute
286
+
287
+ yield(attribute) if block_given?
288
+ return add_attribute(attribute)
289
+ end
290
+
291
+ def remove_attribute(index)
292
+ accessed
293
+ changed
294
+ unless String === index or Symbol === index then
295
+ index = index.get_the_index
296
+ end
297
+ attribute = @attribute_child.delete(index) if index
298
+ @children.delete(attribute)
299
+ end
300
+ end
301
+
302
+ module OptionsAsChild
303
+ def options_child
304
+ accessed
305
+ @options_child
306
+ end
307
+
308
+ def options_child=(v)
309
+ accessed
310
+ @options_child = v
311
+ end
312
+
313
+ alias options options_child
314
+ alias options= options_child=
315
+
316
+ def init_options_as_child
317
+ @options_child = []
318
+ end
319
+
320
+ def add_options(options)
321
+ accessed
322
+ @children << options
323
+ @options_child << options
324
+ options.add_parent(self)
325
+ changed
326
+ return options
327
+ end
328
+
329
+ def new_options
330
+ accessed
331
+ options = Options.new
332
+ yield(options) if block_given?
333
+ return add_options(options)
334
+ end
335
+
336
+ alias ensure_options new_options
337
+
338
+ def remove_options(options)
339
+ accessed
340
+ @options_child.delete(options)
341
+ @children.delete(options)
342
+ end
343
+ end
344
+
345
+ module IndexAttributeAsChild
346
+ require "xamplr/indexed-array"
347
+
348
+ def index_attribute_child
349
+ accessed
350
+ @index_attribute_child
351
+ end
352
+
353
+ def index_attribute_child=(v)
354
+ accessed
355
+ @index_attribute_child = v
356
+ end
357
+
358
+ alias index_attribute index_attribute_child
359
+ alias index_attribute= index_attribute_child=
360
+
361
+ def init_index_attribute_as_child
362
+ @index_attribute_child = IndexedArray.new
363
+ end
364
+
365
+ def add_index_attribute(index_attribute)
366
+ accessed
367
+ index = index_attribute.get_the_index
368
+ if (nil == index) then
369
+ throw "no value for the index 'name' of index_attribute defined in : " << index_attribute.pp_xml
370
+ end
371
+
372
+ existing = @index_attribute_child[index]
373
+
374
+ self.remove_index_attribute(index) if existing and (existing != index_attribute)
375
+
376
+ @children << index_attribute
377
+ @index_attribute_child[index] = index_attribute
378
+
379
+ index_attribute.add_parent(self)
380
+
381
+ changed
382
+ return index_attribute
383
+ end
384
+
385
+ def new_index_attribute(index)
386
+ accessed
387
+
388
+ index_attribute = nil
389
+ index_attribute = IndexAttribute.new(index) unless index_attribute
390
+
391
+ yield(index_attribute) if block_given?
392
+ return add_index_attribute(index_attribute)
393
+ end
394
+
395
+ def ensure_index_attribute(index)
396
+ accessed
397
+
398
+ index_attribute = @index_attribute_child[index]
399
+ return index_attribute if index_attribute
400
+
401
+ index_attribute = IndexAttribute.new(index) unless index_attribute
402
+
403
+ yield(index_attribute) if block_given?
404
+ return add_index_attribute(index_attribute)
405
+ end
406
+
407
+ def remove_index_attribute(index)
408
+ accessed
409
+ changed
410
+ unless String === index or Symbol === index then
411
+ index = index.get_the_index
412
+ end
413
+ index_attribute = @index_attribute_child.delete(index) if index
414
+ @children.delete(index_attribute)
415
+ end
416
+ end
417
+
418
+ module ResolveAsChild
419
+ def resolve_child
420
+ accessed
421
+ @resolve_child
422
+ end
423
+
424
+ def resolve_child=(v)
425
+ accessed
426
+ @resolve_child = v
427
+ end
428
+
429
+ alias resolve resolve_child
430
+ alias resolve= resolve_child=
431
+
432
+ def init_resolve_as_child
433
+ @resolve_child = []
434
+ end
435
+
436
+ def add_resolve(resolve)
437
+ accessed
438
+ @children << resolve
439
+ @resolve_child << resolve
440
+ resolve.add_parent(self)
441
+ changed
442
+ return resolve
443
+ end
444
+
445
+ def new_resolve
446
+ accessed
447
+ resolve = Resolve.new
448
+ yield(resolve) if block_given?
449
+ return add_resolve(resolve)
450
+ end
451
+
452
+ alias ensure_resolve new_resolve
453
+
454
+ def remove_resolve(resolve)
455
+ accessed
456
+ @resolve_child.delete(resolve)
457
+ @children.delete(resolve)
458
+ end
459
+ end
460
+
461
+ class Elements
462
+ include Xampl::XamplPersistedObject
463
+ include Xampl::XamplWithDataContent
464
+
465
+ def Elements.persisted?
466
+ false
467
+ end
468
+
469
+ def persisted?
470
+ false
471
+ end
472
+
473
+ @@tag = "elements"
474
+ @@ns = "http://xampl.com/generator"
475
+ @@ns_tag = "{http://xampl.com/generator}elements"
476
+ @@module_name = "XamplGenerator"
477
+ @@attributes = [
478
+ [ :@pid, "pid" ],
479
+ ]
480
+ include ElementAsChild
481
+
482
+ def Elements.lookup(pid)
483
+ Xampl.lookup(Elements, pid)
484
+ end
485
+
486
+ def Elements.[](pid)
487
+ Xampl.lookup(Elements, pid)
488
+ end
489
+
490
+ def pid
491
+ @pid
492
+ end
493
+
494
+ def pid=(v)
495
+ accessed
496
+ # This is kind of optimistic, I think you are in trouble if you do this
497
+ Xampl.auto_uncache(self) if @pid
498
+ @pid = v
499
+ changed
500
+ Xampl.auto_cache(self) if v
501
+ end
502
+
503
+ def initialize(index=nil)
504
+ @pid = index if index
505
+ super()
506
+
507
+ @pid = nil if not defined? @pid
508
+
509
+ init_xampl_object
510
+ init_data_content
511
+ init_element_as_child
512
+
513
+ yield(self) if block_given?
514
+ changed
515
+ end
516
+
517
+ def clear_non_persistent_index_attributes
518
+ end
519
+
520
+ def append_to(other)
521
+ other.add_elements(self)
522
+ end
523
+
524
+ def Elements.tag
525
+ @@tag
526
+ end
527
+
528
+ def Elements.ns
529
+ @@ns
530
+ end
531
+
532
+ def Elements.ns_tag
533
+ @@ns_tag
534
+ end
535
+
536
+ def Elements.module_name
537
+ @@module_name
538
+ end
539
+
540
+ def tag
541
+ @@tag
542
+ end
543
+
544
+ def ns
545
+ @@ns
546
+ end
547
+
548
+ def ns_tag
549
+ @@ns_tag
550
+ end
551
+
552
+ def module_name
553
+ @@module_name
554
+ end
555
+
556
+ def attributes
557
+ @@attributes
558
+ end
559
+
560
+ def indexed_by
561
+ :pid
562
+ end
563
+
564
+ def get_the_index
565
+ @pid
566
+ end
567
+
568
+ def set_the_index(index)
569
+ @pid = index
570
+ end
571
+
572
+ def substitute_in_visit(visitor)
573
+ return visitor.substitute_in_visit_elements(self) || self
574
+ end
575
+
576
+ def before_visit(visitor)
577
+ visitor.before_visit_elements(self)
578
+ end
579
+
580
+ def visit(visitor)
581
+ visitor.visit_elements(self)
582
+ end
583
+
584
+ def after_visit(visitor)
585
+ visitor.after_visit_elements(self)
586
+ end
587
+
588
+ Xampl::FromXML::register(Elements::tag, Elements::ns_tag, Elements)
589
+ end
590
+
591
+ class Element
592
+ include Xampl::XamplObject
593
+ include Xampl::XamplWithDataContent
594
+
595
+ def Element.persisted?
596
+ false
597
+ end
598
+
599
+ def persisted?
600
+ false
601
+ end
602
+
603
+ @@tag = "element"
604
+ @@ns = "http://xampl.com/generator"
605
+ @@ns_tag = "{http://xampl.com/generator}element"
606
+ @@module_name = "XamplGenerator"
607
+ @@attributes = [
608
+ [ :@has_content, "hasContent" ],
609
+ [ :@class_name, "className" ],
610
+ [ :@attribute_name, "attributeName" ],
611
+ [ :@nstag, "nstag" ],
612
+ [ :@empty, "empty" ],
613
+ [ :@indexed_by_attr, "indexedByAttr" ],
614
+ [ :@persisted, "persisted" ],
615
+ [ :@name, "name" ],
616
+ [ :@kind, "kind" ],
617
+ [ :@namespace, "namespace" ],
618
+ [ :@package, "package" ],
619
+ ]
620
+ include ChildElementAsChild
621
+ include AttributeAsChild
622
+
623
+ def has_content
624
+ accessed
625
+ @has_content
626
+ end
627
+
628
+ def has_content=(v)
629
+ accessed
630
+ changed
631
+ @has_content = v
632
+ end
633
+
634
+ def class_name
635
+ accessed
636
+ @class_name
637
+ end
638
+
639
+ def class_name=(v)
640
+ accessed
641
+ changed
642
+ @class_name = v
643
+ end
644
+
645
+ def attribute_name
646
+ accessed
647
+ @attribute_name
648
+ end
649
+
650
+ def attribute_name=(v)
651
+ accessed
652
+ changed
653
+ @attribute_name = v
654
+ end
655
+
656
+ def nstag
657
+ accessed
658
+ @nstag
659
+ end
660
+
661
+ def nstag=(v)
662
+ accessed
663
+ changed
664
+ @nstag = v
665
+ end
666
+
667
+ def empty
668
+ accessed
669
+ @empty
670
+ end
671
+
672
+ def empty=(v)
673
+ accessed
674
+ changed
675
+ @empty = v
676
+ end
677
+
678
+ def indexed_by_attr
679
+ accessed
680
+ @indexed_by_attr
681
+ end
682
+
683
+ def indexed_by_attr=(v)
684
+ accessed
685
+ changed
686
+ @indexed_by_attr = v
687
+ end
688
+
689
+ def persisted
690
+ accessed
691
+ @persisted
692
+ end
693
+
694
+ def persisted=(v)
695
+ accessed
696
+ changed
697
+ @persisted = v
698
+ end
699
+
700
+ def name
701
+ accessed
702
+ @name
703
+ end
704
+
705
+ def name=(v)
706
+ accessed
707
+ changed
708
+ @name = v
709
+ end
710
+
711
+ def kind
712
+ accessed
713
+ @kind
714
+ end
715
+
716
+ def kind=(v)
717
+ accessed
718
+ changed
719
+ @kind = v
720
+ end
721
+
722
+ def namespace
723
+ accessed
724
+ @namespace
725
+ end
726
+
727
+ def namespace=(v)
728
+ accessed
729
+ changed
730
+ @namespace = v
731
+ end
732
+
733
+ def package
734
+ accessed
735
+ @package
736
+ end
737
+
738
+ def package=(v)
739
+ accessed
740
+ changed
741
+ @package = v
742
+ end
743
+
744
+ def initialize(index=nil)
745
+ @name = index if index
746
+ super()
747
+
748
+ @has_content = nil if not defined? @has_content
749
+ @class_name = nil if not defined? @class_name
750
+ @attribute_name = nil if not defined? @attribute_name
751
+ @nstag = nil if not defined? @nstag
752
+ @empty = nil if not defined? @empty
753
+ @indexed_by_attr = nil if not defined? @indexed_by_attr
754
+ @persisted = nil if not defined? @persisted
755
+ @name = nil if not defined? @name
756
+ @kind = nil if not defined? @kind
757
+ @namespace = nil if not defined? @namespace
758
+ @package = nil if not defined? @package
759
+
760
+ init_xampl_object
761
+ init_data_content
762
+ init_child_element_as_child
763
+ init_attribute_as_child
764
+
765
+ yield(self) if block_given?
766
+ changed
767
+ end
768
+
769
+ def clear_non_persistent_index_attributes
770
+ @has_content = nil
771
+ @class_name = nil
772
+ @attribute_name = nil
773
+ @nstag = nil
774
+ @empty = nil
775
+ @indexed_by_attr = nil
776
+ @persisted = nil
777
+ @name = nil
778
+ @kind = nil
779
+ @namespace = nil
780
+ @package = nil
781
+ end
782
+
783
+ def append_to(other)
784
+ other.add_element(self)
785
+ end
786
+
787
+ def Element.tag
788
+ @@tag
789
+ end
790
+
791
+ def Element.ns
792
+ @@ns
793
+ end
794
+
795
+ def Element.ns_tag
796
+ @@ns_tag
797
+ end
798
+
799
+ def Element.module_name
800
+ @@module_name
801
+ end
802
+
803
+ def tag
804
+ @@tag
805
+ end
806
+
807
+ def ns
808
+ @@ns
809
+ end
810
+
811
+ def ns_tag
812
+ @@ns_tag
813
+ end
814
+
815
+ def module_name
816
+ @@module_name
817
+ end
818
+
819
+ def attributes
820
+ @@attributes
821
+ end
822
+
823
+ def indexed_by
824
+ :name
825
+ end
826
+
827
+ def get_the_index
828
+ @name
829
+ end
830
+
831
+ def set_the_index(index)
832
+ @name = index
833
+ end
834
+
835
+ def substitute_in_visit(visitor)
836
+ return visitor.substitute_in_visit_element(self) || self
837
+ end
838
+
839
+ def before_visit(visitor)
840
+ visitor.before_visit_element(self)
841
+ end
842
+
843
+ def visit(visitor)
844
+ visitor.visit_element(self)
845
+ end
846
+
847
+ def after_visit(visitor)
848
+ visitor.after_visit_element(self)
849
+ end
850
+
851
+ Xampl::FromXML::register(Element::tag, Element::ns_tag, Element)
852
+ end
853
+
854
+ class ChildElement
855
+ include Xampl::XamplObject
856
+ include Xampl::XamplWithoutContent
857
+
858
+ def ChildElement.persisted?
859
+ false
860
+ end
861
+
862
+ def persisted?
863
+ false
864
+ end
865
+
866
+ @@tag = "childElement"
867
+ @@ns = "http://xampl.com/generator"
868
+ @@ns_tag = "{http://xampl.com/generator}childElement"
869
+ @@module_name = "XamplGenerator"
870
+ @@attributes = [
871
+ [ :@element_name, "element_name" ],
872
+ [ :@name, "name" ],
873
+ [ :@namespace, "namespace" ],
874
+ [ :@index_class, "index_class" ],
875
+ [ :@index, "index" ],
876
+ [ :@package, "package" ],
877
+ ]
878
+
879
+ def element_name
880
+ accessed
881
+ @element_name
882
+ end
883
+
884
+ def element_name=(v)
885
+ accessed
886
+ changed
887
+ @element_name = v
888
+ end
889
+
890
+ def name
891
+ accessed
892
+ @name
893
+ end
894
+
895
+ def name=(v)
896
+ accessed
897
+ changed
898
+ @name = v
899
+ end
900
+
901
+ def namespace
902
+ accessed
903
+ @namespace
904
+ end
905
+
906
+ def namespace=(v)
907
+ accessed
908
+ changed
909
+ @namespace = v
910
+ end
911
+
912
+ def index_class
913
+ accessed
914
+ @index_class
915
+ end
916
+
917
+ def index_class=(v)
918
+ accessed
919
+ changed
920
+ @index_class = v
921
+ end
922
+
923
+ def index
924
+ accessed
925
+ @index
926
+ end
927
+
928
+ def index=(v)
929
+ accessed
930
+ changed
931
+ @index = v
932
+ end
933
+
934
+ def package
935
+ accessed
936
+ @package
937
+ end
938
+
939
+ def package=(v)
940
+ accessed
941
+ changed
942
+ @package = v
943
+ end
944
+
945
+ def initialize(index=nil)
946
+ @name = index if index
947
+ super()
948
+
949
+ @element_name = nil if not defined? @element_name
950
+ @name = nil if not defined? @name
951
+ @namespace = nil if not defined? @namespace
952
+ @index_class = nil if not defined? @index_class
953
+ @index = nil if not defined? @index
954
+ @package = nil if not defined? @package
955
+
956
+ init_xampl_object
957
+
958
+ yield(self) if block_given?
959
+ changed
960
+ end
961
+
962
+ def clear_non_persistent_index_attributes
963
+ @element_name = nil
964
+ @name = nil
965
+ @namespace = nil
966
+ @index_class = nil
967
+ @index = nil
968
+ @package = nil
969
+ end
970
+
971
+ def append_to(other)
972
+ other.add_child_element(self)
973
+ end
974
+
975
+ def ChildElement.tag
976
+ @@tag
977
+ end
978
+
979
+ def ChildElement.ns
980
+ @@ns
981
+ end
982
+
983
+ def ChildElement.ns_tag
984
+ @@ns_tag
985
+ end
986
+
987
+ def ChildElement.module_name
988
+ @@module_name
989
+ end
990
+
991
+ def tag
992
+ @@tag
993
+ end
994
+
995
+ def ns
996
+ @@ns
997
+ end
998
+
999
+ def ns_tag
1000
+ @@ns_tag
1001
+ end
1002
+
1003
+ def module_name
1004
+ @@module_name
1005
+ end
1006
+
1007
+ def attributes
1008
+ @@attributes
1009
+ end
1010
+
1011
+ def indexed_by
1012
+ :name
1013
+ end
1014
+
1015
+ def get_the_index
1016
+ @name
1017
+ end
1018
+
1019
+ def set_the_index(index)
1020
+ @name = index
1021
+ end
1022
+
1023
+ def substitute_in_visit(visitor)
1024
+ return visitor.substitute_in_visit_child_element(self) || self
1025
+ end
1026
+
1027
+ def before_visit(visitor)
1028
+ visitor.before_visit_child_element(self)
1029
+ end
1030
+
1031
+ def visit(visitor)
1032
+ visitor.visit_child_element(self)
1033
+ end
1034
+
1035
+ def after_visit(visitor)
1036
+ visitor.after_visit_child_element(self)
1037
+ end
1038
+
1039
+ Xampl::FromXML::register(ChildElement::tag, ChildElement::ns_tag, ChildElement)
1040
+ end
1041
+
1042
+ class Attribute
1043
+ include Xampl::XamplObject
1044
+ include Xampl::XamplWithoutContent
1045
+
1046
+ def Attribute.persisted?
1047
+ false
1048
+ end
1049
+
1050
+ def persisted?
1051
+ false
1052
+ end
1053
+
1054
+ @@tag = "attribute"
1055
+ @@ns = "http://xampl.com/generator"
1056
+ @@ns_tag = "{http://xampl.com/generator}attribute"
1057
+ @@module_name = "XamplGenerator"
1058
+ @@attributes = [
1059
+ [ :@namespace, "namespace" ],
1060
+ [ :@name, "name" ],
1061
+ ]
1062
+
1063
+ def namespace
1064
+ accessed
1065
+ @namespace
1066
+ end
1067
+
1068
+ def namespace=(v)
1069
+ accessed
1070
+ changed
1071
+ @namespace = v
1072
+ end
1073
+
1074
+ def name
1075
+ accessed
1076
+ @name
1077
+ end
1078
+
1079
+ def name=(v)
1080
+ accessed
1081
+ changed
1082
+ @name = v
1083
+ end
1084
+
1085
+ def initialize(index=nil)
1086
+ @name = index if index
1087
+ super()
1088
+
1089
+ @namespace = nil if not defined? @namespace
1090
+ @name = nil if not defined? @name
1091
+
1092
+ init_xampl_object
1093
+
1094
+ yield(self) if block_given?
1095
+ changed
1096
+ end
1097
+
1098
+ def clear_non_persistent_index_attributes
1099
+ @namespace = nil
1100
+ @name = nil
1101
+ end
1102
+
1103
+ def append_to(other)
1104
+ other.add_attribute(self)
1105
+ end
1106
+
1107
+ def Attribute.tag
1108
+ @@tag
1109
+ end
1110
+
1111
+ def Attribute.ns
1112
+ @@ns
1113
+ end
1114
+
1115
+ def Attribute.ns_tag
1116
+ @@ns_tag
1117
+ end
1118
+
1119
+ def Attribute.module_name
1120
+ @@module_name
1121
+ end
1122
+
1123
+ def tag
1124
+ @@tag
1125
+ end
1126
+
1127
+ def ns
1128
+ @@ns
1129
+ end
1130
+
1131
+ def ns_tag
1132
+ @@ns_tag
1133
+ end
1134
+
1135
+ def module_name
1136
+ @@module_name
1137
+ end
1138
+
1139
+ def attributes
1140
+ @@attributes
1141
+ end
1142
+
1143
+ def indexed_by
1144
+ :name
1145
+ end
1146
+
1147
+ def get_the_index
1148
+ @name
1149
+ end
1150
+
1151
+ def set_the_index(index)
1152
+ @name = index
1153
+ end
1154
+
1155
+ def substitute_in_visit(visitor)
1156
+ return visitor.substitute_in_visit_attribute(self) || self
1157
+ end
1158
+
1159
+ def before_visit(visitor)
1160
+ visitor.before_visit_attribute(self)
1161
+ end
1162
+
1163
+ def visit(visitor)
1164
+ visitor.visit_attribute(self)
1165
+ end
1166
+
1167
+ def after_visit(visitor)
1168
+ visitor.after_visit_attribute(self)
1169
+ end
1170
+
1171
+ Xampl::FromXML::register(Attribute::tag, Attribute::ns_tag, Attribute)
1172
+ end
1173
+
1174
+ class Options
1175
+ include Xampl::XamplObject
1176
+ include Xampl::XamplWithDataContent
1177
+
1178
+ def Options.persisted?
1179
+ false
1180
+ end
1181
+
1182
+ def persisted?
1183
+ false
1184
+ end
1185
+
1186
+ @@tag = "options"
1187
+ @@ns = "http://xampl.com/generator"
1188
+ @@ns_tag = "{http://xampl.com/generator}options"
1189
+ @@module_name = "XamplGenerator"
1190
+ @@attributes = [
1191
+ ]
1192
+ include IndexAttributeAsChild
1193
+ include ResolveAsChild
1194
+
1195
+ def initialize
1196
+ super
1197
+
1198
+ init_xampl_object
1199
+ init_data_content
1200
+ init_index_attribute_as_child
1201
+ init_resolve_as_child
1202
+
1203
+ yield(self) if block_given?
1204
+ changed
1205
+ end
1206
+
1207
+ def clear_non_persistent_index_attributes
1208
+ end
1209
+
1210
+ def append_to(other)
1211
+ other.add_options(self)
1212
+ end
1213
+
1214
+ def Options.tag
1215
+ @@tag
1216
+ end
1217
+
1218
+ def Options.ns
1219
+ @@ns
1220
+ end
1221
+
1222
+ def Options.ns_tag
1223
+ @@ns_tag
1224
+ end
1225
+
1226
+ def Options.module_name
1227
+ @@module_name
1228
+ end
1229
+
1230
+ def tag
1231
+ @@tag
1232
+ end
1233
+
1234
+ def ns
1235
+ @@ns
1236
+ end
1237
+
1238
+ def ns_tag
1239
+ @@ns_tag
1240
+ end
1241
+
1242
+ def module_name
1243
+ @@module_name
1244
+ end
1245
+
1246
+ def attributes
1247
+ @@attributes
1248
+ end
1249
+
1250
+ def substitute_in_visit(visitor)
1251
+ return visitor.substitute_in_visit_options(self) || self
1252
+ end
1253
+
1254
+ def before_visit(visitor)
1255
+ visitor.before_visit_options(self)
1256
+ end
1257
+
1258
+ def visit(visitor)
1259
+ visitor.visit_options(self)
1260
+ end
1261
+
1262
+ def after_visit(visitor)
1263
+ visitor.after_visit_options(self)
1264
+ end
1265
+
1266
+ Xampl::FromXML::register(Options::tag, Options::ns_tag, Options)
1267
+ end
1268
+
1269
+ class IndexAttribute
1270
+ include Xampl::XamplObject
1271
+ include Xampl::XamplWithoutContent
1272
+
1273
+ def IndexAttribute.persisted?
1274
+ false
1275
+ end
1276
+
1277
+ def persisted?
1278
+ false
1279
+ end
1280
+
1281
+ @@tag = "index-attribute"
1282
+ @@ns = "http://xampl.com/generator"
1283
+ @@ns_tag = "{http://xampl.com/generator}index-attribute"
1284
+ @@module_name = "XamplGenerator"
1285
+ @@attributes = [
1286
+ [ :@name, "name" ],
1287
+ [ :@persisted, "persisted" ],
1288
+ ]
1289
+
1290
+ def name
1291
+ accessed
1292
+ @name
1293
+ end
1294
+
1295
+ def name=(v)
1296
+ accessed
1297
+ changed
1298
+ @name = v
1299
+ end
1300
+
1301
+ def persisted
1302
+ accessed
1303
+ @persisted
1304
+ end
1305
+
1306
+ def persisted=(v)
1307
+ accessed
1308
+ changed
1309
+ @persisted = v
1310
+ end
1311
+
1312
+ def initialize(index=nil)
1313
+ @name = index if index
1314
+ super()
1315
+
1316
+ @name = nil if not defined? @name
1317
+ @persisted = nil if not defined? @persisted
1318
+
1319
+ init_xampl_object
1320
+
1321
+ yield(self) if block_given?
1322
+ changed
1323
+ end
1324
+
1325
+ def clear_non_persistent_index_attributes
1326
+ @name = nil
1327
+ @persisted = nil
1328
+ end
1329
+
1330
+ def append_to(other)
1331
+ other.add_index_attribute(self)
1332
+ end
1333
+
1334
+ def IndexAttribute.tag
1335
+ @@tag
1336
+ end
1337
+
1338
+ def IndexAttribute.ns
1339
+ @@ns
1340
+ end
1341
+
1342
+ def IndexAttribute.ns_tag
1343
+ @@ns_tag
1344
+ end
1345
+
1346
+ def IndexAttribute.module_name
1347
+ @@module_name
1348
+ end
1349
+
1350
+ def tag
1351
+ @@tag
1352
+ end
1353
+
1354
+ def ns
1355
+ @@ns
1356
+ end
1357
+
1358
+ def ns_tag
1359
+ @@ns_tag
1360
+ end
1361
+
1362
+ def module_name
1363
+ @@module_name
1364
+ end
1365
+
1366
+ def attributes
1367
+ @@attributes
1368
+ end
1369
+
1370
+ def indexed_by
1371
+ :name
1372
+ end
1373
+
1374
+ def get_the_index
1375
+ @name
1376
+ end
1377
+
1378
+ def set_the_index(index)
1379
+ @name = index
1380
+ end
1381
+
1382
+ def substitute_in_visit(visitor)
1383
+ return visitor.substitute_in_visit_index_attribute(self) || self
1384
+ end
1385
+
1386
+ def before_visit(visitor)
1387
+ visitor.before_visit_index_attribute(self)
1388
+ end
1389
+
1390
+ def visit(visitor)
1391
+ visitor.visit_index_attribute(self)
1392
+ end
1393
+
1394
+ def after_visit(visitor)
1395
+ visitor.after_visit_index_attribute(self)
1396
+ end
1397
+
1398
+ Xampl::FromXML::register(IndexAttribute::tag, IndexAttribute::ns_tag, IndexAttribute)
1399
+ end
1400
+
1401
+ class Resolve
1402
+ include Xampl::XamplObject
1403
+ include Xampl::XamplWithoutContent
1404
+
1405
+ def Resolve.persisted?
1406
+ false
1407
+ end
1408
+
1409
+ def persisted?
1410
+ false
1411
+ end
1412
+
1413
+ @@tag = "resolve"
1414
+ @@ns = "http://xampl.com/generator"
1415
+ @@ns_tag = "{http://xampl.com/generator}resolve"
1416
+ @@module_name = "XamplGenerator"
1417
+ @@attributes = [
1418
+ [ :@namespace, "namespace" ],
1419
+ [ :@pkg, "pkg" ],
1420
+ [ :@preferred_prefix, "preferred_prefix" ],
1421
+ ]
1422
+
1423
+ def namespace
1424
+ accessed
1425
+ @namespace
1426
+ end
1427
+
1428
+ def namespace=(v)
1429
+ accessed
1430
+ changed
1431
+ @namespace = v
1432
+ end
1433
+
1434
+ def pkg
1435
+ accessed
1436
+ @pkg
1437
+ end
1438
+
1439
+ def pkg=(v)
1440
+ accessed
1441
+ changed
1442
+ @pkg = v
1443
+ end
1444
+
1445
+ def preferred_prefix
1446
+ accessed
1447
+ @preferred_prefix
1448
+ end
1449
+
1450
+ def preferred_prefix=(v)
1451
+ accessed
1452
+ changed
1453
+ @preferred_prefix = v
1454
+ end
1455
+
1456
+ def initialize
1457
+ super
1458
+
1459
+ @namespace = nil if not defined? @namespace
1460
+ @pkg = nil if not defined? @pkg
1461
+ @preferred_prefix = nil if not defined? @preferred_prefix
1462
+
1463
+ init_xampl_object
1464
+
1465
+ yield(self) if block_given?
1466
+ changed
1467
+ end
1468
+
1469
+ def clear_non_persistent_index_attributes
1470
+ @namespace = nil
1471
+ @pkg = nil
1472
+ @preferred_prefix = nil
1473
+ end
1474
+
1475
+ def append_to(other)
1476
+ other.add_resolve(self)
1477
+ end
1478
+
1479
+ def Resolve.tag
1480
+ @@tag
1481
+ end
1482
+
1483
+ def Resolve.ns
1484
+ @@ns
1485
+ end
1486
+
1487
+ def Resolve.ns_tag
1488
+ @@ns_tag
1489
+ end
1490
+
1491
+ def Resolve.module_name
1492
+ @@module_name
1493
+ end
1494
+
1495
+ def tag
1496
+ @@tag
1497
+ end
1498
+
1499
+ def ns
1500
+ @@ns
1501
+ end
1502
+
1503
+ def ns_tag
1504
+ @@ns_tag
1505
+ end
1506
+
1507
+ def module_name
1508
+ @@module_name
1509
+ end
1510
+
1511
+ def attributes
1512
+ @@attributes
1513
+ end
1514
+
1515
+ def substitute_in_visit(visitor)
1516
+ return visitor.substitute_in_visit_resolve(self) || self
1517
+ end
1518
+
1519
+ def before_visit(visitor)
1520
+ visitor.before_visit_resolve(self)
1521
+ end
1522
+
1523
+ def visit(visitor)
1524
+ visitor.visit_resolve(self)
1525
+ end
1526
+
1527
+ def after_visit(visitor)
1528
+ visitor.after_visit_resolve(self)
1529
+ end
1530
+
1531
+ Xampl::FromXML::register(Resolve::tag, Resolve::ns_tag, Resolve)
1532
+ end
1533
+
1534
+ end
1535
+