copland 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (184) hide show
  1. data/doc/README +88 -0
  2. data/doc/manual-html/chapter-1.html +454 -0
  3. data/doc/manual-html/chapter-10.html +399 -0
  4. data/doc/manual-html/chapter-11.html +600 -0
  5. data/doc/manual-html/chapter-12.html +406 -0
  6. data/doc/manual-html/chapter-2.html +382 -0
  7. data/doc/manual-html/chapter-3.html +424 -0
  8. data/doc/manual-html/chapter-4.html +432 -0
  9. data/doc/manual-html/chapter-5.html +381 -0
  10. data/doc/manual-html/chapter-6.html +364 -0
  11. data/doc/manual-html/chapter-7.html +434 -0
  12. data/doc/manual-html/chapter-8.html +373 -0
  13. data/doc/manual-html/chapter-9.html +324 -0
  14. data/doc/manual-html/copland.png +0 -0
  15. data/doc/manual-html/index.html +331 -0
  16. data/doc/manual-html/manual.css +179 -0
  17. data/doc/manual-html/tutorial-1.html +407 -0
  18. data/doc/manual-html/tutorial-2.html +451 -0
  19. data/doc/manual-html/tutorial-3.html +484 -0
  20. data/doc/manual-html/tutorial-4.html +446 -0
  21. data/doc/manual-html/tutorial-5.html +520 -0
  22. data/doc/manual/chapter.erb +18 -0
  23. data/doc/manual/example.erb +18 -0
  24. data/doc/manual/img/copland.png +0 -0
  25. data/doc/manual/index.erb +30 -0
  26. data/doc/manual/manual.css +179 -0
  27. data/doc/manual/manual.rb +239 -0
  28. data/doc/manual/manual.yml +2643 -0
  29. data/doc/manual/page.erb +102 -0
  30. data/doc/manual/tutorial.erb +30 -0
  31. data/doc/packages/copland.html +764 -0
  32. data/doc/packages/copland.lib.html +439 -0
  33. data/doc/packages/copland.remote.html +2096 -0
  34. data/doc/packages/copland.webrick.html +925 -0
  35. data/doc/packages/index.html +49 -0
  36. data/doc/packages/packrat.css +125 -0
  37. data/examples/calc/calc.rb +47 -0
  38. data/examples/calc/package.yml +35 -0
  39. data/examples/calc/services.rb +74 -0
  40. data/examples/solitaire-cipher/README +11 -0
  41. data/examples/solitaire-cipher/Rakefile +57 -0
  42. data/examples/solitaire-cipher/bin/main.rb +14 -0
  43. data/examples/solitaire-cipher/lib/cipher.rb +230 -0
  44. data/examples/solitaire-cipher/lib/cli.rb +24 -0
  45. data/examples/solitaire-cipher/lib/package.yml +106 -0
  46. data/examples/solitaire-cipher/test/tc_deck.rb +30 -0
  47. data/examples/solitaire-cipher/test/tc_key-stream.rb +19 -0
  48. data/examples/solitaire-cipher/test/tc_keying-algorithms.rb +31 -0
  49. data/examples/solitaire-cipher/test/tc_solitaire-cipher.rb +66 -0
  50. data/examples/solitaire-cipher/test/tc_unkeyed-algorithm.rb +17 -0
  51. data/examples/solitaire-cipher/test/tests.rb +2 -0
  52. data/lib/copland.rb +56 -0
  53. data/lib/copland/class-factory.rb +95 -0
  54. data/lib/copland/configuration-point.rb +38 -0
  55. data/lib/copland/configuration-point/common.rb +203 -0
  56. data/lib/copland/configuration-point/errors.rb +44 -0
  57. data/lib/copland/configuration-point/list.rb +59 -0
  58. data/lib/copland/configuration-point/map.rb +59 -0
  59. data/lib/copland/configuration/errors.rb +43 -0
  60. data/lib/copland/configuration/loader.rb +113 -0
  61. data/lib/copland/configuration/yaml/configuration-point.rb +87 -0
  62. data/lib/copland/configuration/yaml/implementor.rb +134 -0
  63. data/lib/copland/configuration/yaml/interceptor.rb +63 -0
  64. data/lib/copland/configuration/yaml/listener.rb +56 -0
  65. data/lib/copland/configuration/yaml/loader.rb +122 -0
  66. data/lib/copland/configuration/yaml/package.rb +125 -0
  67. data/lib/copland/configuration/yaml/parser.rb +71 -0
  68. data/lib/copland/configuration/yaml/schema.rb +165 -0
  69. data/lib/copland/configuration/yaml/service-point.rb +116 -0
  70. data/lib/copland/configuration/yaml/utils.rb +82 -0
  71. data/lib/copland/default-schema-processor.rb +144 -0
  72. data/lib/copland/errors.rb +82 -0
  73. data/lib/copland/event-producer.rb +95 -0
  74. data/lib/copland/impl/builder-factory.rb +112 -0
  75. data/lib/copland/impl/copland-config.yml +1 -0
  76. data/lib/copland/impl/include-exclude.rb +140 -0
  77. data/lib/copland/impl/logging-interceptor.rb +106 -0
  78. data/lib/copland/impl/package.yml +217 -0
  79. data/lib/copland/impl/startup.rb +116 -0
  80. data/lib/copland/impl/symbol-source-manager.rb +131 -0
  81. data/lib/copland/impl/symbol-source.rb +63 -0
  82. data/lib/copland/instantiator.rb +38 -0
  83. data/lib/copland/instantiator/abstract.rb +91 -0
  84. data/lib/copland/instantiator/complex.rb +96 -0
  85. data/lib/copland/instantiator/identity.rb +58 -0
  86. data/lib/copland/instantiator/simple.rb +68 -0
  87. data/lib/copland/interceptor-chain.rb +166 -0
  88. data/lib/copland/interceptor.rb +139 -0
  89. data/lib/copland/log-factory.rb +206 -0
  90. data/lib/copland/models.rb +39 -0
  91. data/lib/copland/models/abstract.rb +78 -0
  92. data/lib/copland/models/prototype-deferred.rb +58 -0
  93. data/lib/copland/models/prototype.rb +58 -0
  94. data/lib/copland/models/proxy.rb +100 -0
  95. data/lib/copland/models/singleton-deferred.rb +59 -0
  96. data/lib/copland/models/singleton.rb +77 -0
  97. data/lib/copland/models/threaded.rb +65 -0
  98. data/lib/copland/ordering.rb +123 -0
  99. data/lib/copland/package.rb +246 -0
  100. data/lib/copland/registry.rb +368 -0
  101. data/lib/copland/schema.rb +206 -0
  102. data/lib/copland/service-point.rb +282 -0
  103. data/lib/copland/utils.rb +221 -0
  104. data/lib/copland/version.rb +47 -0
  105. data/test/conf-test/list-bad-key.yml +30 -0
  106. data/test/conf-test/list-bad-missing.yml +28 -0
  107. data/test/conf-test/list-bad-type.yml +28 -0
  108. data/test/conf-test/list-good.yml +29 -0
  109. data/test/conf-test/map-bad-key.yml +25 -0
  110. data/test/conf-test/map-bad-missing.yml +24 -0
  111. data/test/conf-test/map-bad-type.yml +23 -0
  112. data/test/conf-test/map-good.yml +25 -0
  113. data/test/configuration-point/package.yml +52 -0
  114. data/test/configuration/yaml/config/copland-config.yml +2 -0
  115. data/test/configuration/yaml/config/module.yml +2 -0
  116. data/test/configuration/yaml/config/subdir/copland-config.yml +2 -0
  117. data/test/configuration/yaml/config/subdir/package.yml +4 -0
  118. data/test/configuration/yaml/defaults/package.yml +5 -0
  119. data/test/configuration/yaml/defaults/subdir/package.yml +4 -0
  120. data/test/configuration/yaml/tc_config-loader.rb +86 -0
  121. data/test/configuration/yaml/tc_configuration-point-processor.rb +134 -0
  122. data/test/configuration/yaml/tc_implementor-processor.rb +104 -0
  123. data/test/configuration/yaml/tc_interceptor-processor.rb +85 -0
  124. data/test/configuration/yaml/tc_listener-processor.rb +69 -0
  125. data/test/configuration/yaml/tc_loader.rb +74 -0
  126. data/test/configuration/yaml/tc_package-processor.rb +120 -0
  127. data/test/configuration/yaml/tc_parser.rb +94 -0
  128. data/test/configuration/yaml/tc_schema-parser.rb +160 -0
  129. data/test/configuration/yaml/tc_service-point-processor.rb +104 -0
  130. data/test/configuration/yaml/tc_type-validator.rb +90 -0
  131. data/test/custom-logger.yml +3 -0
  132. data/test/impl/logging/package.yml +44 -0
  133. data/test/impl/logging/services.rb +84 -0
  134. data/test/impl/startup/package.yml +46 -0
  135. data/test/impl/startup/services.rb +47 -0
  136. data/test/impl/symbols/package.yml +24 -0
  137. data/test/impl/symbols/services.rb +38 -0
  138. data/test/impl/tc_builder-factory.rb +173 -0
  139. data/test/impl/tc_logging-interceptor.rb +148 -0
  140. data/test/impl/tc_startup.rb +59 -0
  141. data/test/impl/tc_symbol-sources.rb +61 -0
  142. data/test/logger.yml +6 -0
  143. data/test/mock.rb +201 -0
  144. data/test/schema/bad-package.yml +65 -0
  145. data/test/schema/package.yml +102 -0
  146. data/test/schema/services.rb +5 -0
  147. data/test/services/package.yml +79 -0
  148. data/test/services/simple.rb +87 -0
  149. data/test/tc_class-factory.rb +93 -0
  150. data/test/tc_complex-instantiator.rb +107 -0
  151. data/test/tc_configuration-point-contrib.rb +74 -0
  152. data/test/tc_configuration-point-schema.rb +122 -0
  153. data/test/tc_configuration-point.rb +91 -0
  154. data/test/tc_default-schema-processor.rb +297 -0
  155. data/test/tc_identity-instantiator.rb +61 -0
  156. data/test/tc_interceptors.rb +84 -0
  157. data/test/tc_logger.rb +131 -0
  158. data/test/tc_models.rb +176 -0
  159. data/test/tc_package.rb +165 -0
  160. data/test/tc_proxy.rb +65 -0
  161. data/test/tc_registry.rb +141 -0
  162. data/test/tc_schema.rb +78 -0
  163. data/test/tc_service-point.rb +178 -0
  164. data/test/tc_service.rb +70 -0
  165. data/test/tc_simple-instantiator.rb +61 -0
  166. data/test/tests.rb +93 -0
  167. data/tutorial/01/main.rb +7 -0
  168. data/tutorial/01/package.yml +8 -0
  169. data/tutorial/01/tutorial.rb +7 -0
  170. data/tutorial/02/main.rb +10 -0
  171. data/tutorial/02/package.yml +27 -0
  172. data/tutorial/02/tutorial.rb +46 -0
  173. data/tutorial/03/main.rb +24 -0
  174. data/tutorial/03/package.yml +29 -0
  175. data/tutorial/03/tutorial.rb +48 -0
  176. data/tutorial/04/main.rb +24 -0
  177. data/tutorial/04/package.yml +35 -0
  178. data/tutorial/04/tutorial.rb +48 -0
  179. data/tutorial/05/functions/package.yml +16 -0
  180. data/tutorial/05/functions/services.rb +15 -0
  181. data/tutorial/05/main.rb +10 -0
  182. data/tutorial/05/package.yml +35 -0
  183. data/tutorial/05/tutorial.rb +53 -0
  184. metadata +260 -0
@@ -0,0 +1,102 @@
1
+ <html>
2
+ <head>
3
+ <title><%= manual.product.name %> Manual<% if object %> :: <%= object.page_title %><% end %></title>
4
+ <link type="text/css" rel="stylesheet" href="manual.css" />
5
+ </head>
6
+
7
+ <body>
8
+ <div id="banner">
9
+ <table border='0' cellpadding='0' cellspacing='0' width='100%'>
10
+ <tr><td valign='top' align='left'>
11
+ <div class="title">
12
+ <span class="product"><%= manual.product.name %>&mdash;</span><br />
13
+ <span class="tagline"><%= manual.product.tagline %></span>
14
+ </div>
15
+ </td><td valign='middle' align='right'>
16
+ <div class="info">
17
+ Copland Version: <strong><%= manual.product.version %></strong><br />
18
+ Manual Last Updated: <strong><%= Time.now.gmtime.strftime('%Y-%m-%d %H:%M %Z') %></strong>
19
+ </div>
20
+ </td></tr>
21
+ </table>
22
+ </div>
23
+
24
+ <table border='0' width='100%' cellpadding='0' cellspacing='0'>
25
+ <tr><td valign='top'>
26
+
27
+ <div id="navigation">
28
+ <h1><%= manual.product.name %> Manual</h1>
29
+
30
+ <h2>Chapters</h2>
31
+ <ol type="I">
32
+ <% manual.chapters.each do |c| %>
33
+ <li><%= "<strong>" if c == object %>
34
+ <a href="chapter-<%= c.index %>.html">
35
+ <%= c.title %>
36
+ </a>
37
+ <%= "</strong> <big>&larr;</big>" if c == object %>
38
+ <ol type="1">
39
+ <% c.sections.each do |s|
40
+ next unless s.title %>
41
+ <li><a href="chapter-<%= c.index %>.html#s<%= s.index %>"><%= s.title %></a></li>
42
+ <% end %>
43
+ </ol>
44
+ </li>
45
+ <% end %>
46
+ </ol>
47
+
48
+ <h2>API Reference</h2>
49
+
50
+ <ul>
51
+ <li><a href="http://copland.rubyforge.org/api/index.html">Copland API</a></li>
52
+ <li><a href="http://copland.rubyforge.org/packrat/index.html">Package Reference</a></li>
53
+ </ul>
54
+
55
+ <h2>Tutorials</h2>
56
+ <ol>
57
+ <% manual.tutorials.each do |t| %>
58
+ <li><%= "<strong>" if t == object %>
59
+ <a href="tutorial-<%= t.index %>.html">
60
+ <%= t.title %>
61
+ </a>
62
+ <%= "</strong> <big>&larr;</big>" if t == object %><br />
63
+ <%= t.brief.to_html %>
64
+ </li>
65
+ <% end %>
66
+ </ol>
67
+
68
+ <p align="center"><strong>More To Come...</strong></p>
69
+
70
+ <!--
71
+ <h2>Examples</h2>
72
+ <ol>
73
+ <% manual.examples.each do |e| %>
74
+ <li><%= "<strong>" if e == object %>
75
+ <a href="example-<%= e.index %>.html">
76
+ <%= e.title %>
77
+ </a>
78
+ <%= "</strong> <big>&larr;</big>" if e == object %><br />
79
+ <%= e.brief.to_html %>
80
+ </li>
81
+ <% end %>
82
+ </ol>
83
+ -->
84
+
85
+ <div class="license">
86
+ <a href="http://creativecommons.org/licenses/by-sa/2.0/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights" /></a><br />
87
+ This manual is licensed under a <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons License</a>.
88
+ </div>
89
+ </div>
90
+
91
+ </td><td valign='top' width="100%">
92
+
93
+ <div id="content">
94
+
95
+ <%= guts %>
96
+
97
+ </div>
98
+
99
+ </td></tr>
100
+ </table>
101
+ </body>
102
+ </html>
@@ -0,0 +1,30 @@
1
+ <h1>Tutorial #<%= object.index %>. <%= object.title %></h1>
2
+
3
+ <p>The sources for this tutorial may be found in the <tt>tutorial/<%= "%02d" % object.index %></tt>
4
+ directory of the Copland distribution.</p>
5
+
6
+ <% if object.intro %>
7
+
8
+ <h2>Introduction</h2>
9
+
10
+ <%= object.intro.to_html %>
11
+
12
+ <% end %>
13
+
14
+ <h2>Steps</h2>
15
+
16
+ <ol>
17
+ <% object.steps.each do |step| %>
18
+
19
+ <li><%= step.to_html %></li>
20
+
21
+ <% end %>
22
+ </ol>
23
+
24
+ <% if object.summary %>
25
+
26
+ <h2>Summary</h2>
27
+
28
+ <%= object.summary.to_html %>
29
+
30
+ <% end %>
@@ -0,0 +1,764 @@
1
+ <html>
2
+ <head>
3
+ <title>copland</title>
4
+ <link rel="stylesheet" type="text/css" href="packrat.css" />
5
+ </head>
6
+ <body>
7
+ <h1>copland</h1>
8
+
9
+ <!-- INDEX OF PACKAGE CONTENTS -->
10
+
11
+
12
+ <div class="description">
13
+ The copland package is the standard package defined by the Copland distribution. It includes the core services and interceptors, such as the BuilderFactory and the LoggingInterceptor.
14
+ </div>
15
+
16
+
17
+ <div class="nav">
18
+ Return to
19
+
20
+ <a href="index.html">index</a>
21
+
22
+ </div>
23
+
24
+
25
+ <h3>Service Points</h3>
26
+ <ul>
27
+
28
+ <li><a href="copland.html#ApplicationDefaults_sp">ApplicationDefaults</a></li>
29
+
30
+ <li><a href="copland.html#BuilderFactory_sp">BuilderFactory</a></li>
31
+
32
+ <li><a href="copland.html#FactoryDefaults_sp">FactoryDefaults</a></li>
33
+
34
+ <li><a href="copland.html#LogFactory_sp">LogFactory</a></li>
35
+
36
+ <li><a href="copland.html#LoggingInterceptor_sp">LoggingInterceptor</a></li>
37
+
38
+ <li><a href="copland.html#Registry_sp">Registry</a></li>
39
+
40
+ <li><a href="copland.html#Startup_sp">Startup</a></li>
41
+
42
+ <li><a href="copland.html#SymbolSourceManager_sp">SymbolSourceManager</a></li>
43
+
44
+ </ul>
45
+
46
+
47
+
48
+ <h3>Configuration Points</h3>
49
+ <ul>
50
+
51
+ <li><a href="copland.html#ApplicationDefaults_cp">ApplicationDefaults</a></li>
52
+
53
+ <li><a href="copland.html#FactoryDefaults_cp">FactoryDefaults</a></li>
54
+
55
+ <li><a href="copland.html#Startup_cp">Startup</a></li>
56
+
57
+ <li><a href="copland.html#SymbolSources_cp">SymbolSources</a></li>
58
+
59
+ </ul>
60
+
61
+
62
+
63
+ <h3>Schemas</h3>
64
+ <ul>
65
+
66
+ <li><a href="copland.html#ClientDefinition_scm">ClientDefinition</a></li>
67
+
68
+ <li><a href="copland.html#IncludeExcludeSchema_scm">IncludeExcludeSchema</a></li>
69
+
70
+ </ul>
71
+
72
+
73
+ <!-- SERVICE POINTS -->
74
+
75
+
76
+ <h2>Service Points</h2>
77
+
78
+
79
+ <h3><a name="ApplicationDefaults_sp">ApplicationDefaults</a> <small><em>(singleton)</em></small></h3>
80
+
81
+ <div class="item-body">
82
+
83
+
84
+ <p class="description">
85
+ The service point that provides access to the ApplicationDefaults configuration point.
86
+ </p>
87
+
88
+
89
+ <h4>Implementor</h4>
90
+ <div class="definition-item">
91
+
92
+ <ul>
93
+ <li>factory: <a href="copland.html#BuilderFactory_sp">copland.BuilderFactory</a></li>
94
+
95
+ <li>class: copland/impl/symbol-source/Copland::Implementation::SymbolSource</li><li>properties: <ul><li>defaults: !!configuration <a href="copland.html#ApplicationDefaults_cp">copland.ApplicationDefaults</a></li></ul></li>
96
+
97
+ </ul>
98
+
99
+ </div>
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+ </div>
108
+
109
+
110
+ <h3><a name="BuilderFactory_sp">BuilderFactory</a> <small><em>(singleton)</em></small></h3>
111
+
112
+ <div class="item-body">
113
+
114
+
115
+ <p class="description">
116
+ Used to construct a service from a class name and optional constructor parameters and properties.
117
+ </p>
118
+
119
+
120
+ <h4>Implementor</h4>
121
+ <div class="definition-item">
122
+
123
+ copland/impl/builder-factory/Copland::Implementation::BuilderFactory
124
+
125
+ </div>
126
+
127
+
128
+ <h4>Schema</h4>
129
+ <div class="definition-item">
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+ <div class="schema-item">
138
+
139
+ <div class="subschema-name">
140
+ class
141
+ [string]
142
+ <em>(required)</em>
143
+ </div>
144
+ <div class="subschema">
145
+
146
+ <div class="description">
147
+ The path description of the class to instantiate. This takes the form "path/to/file/Full::Class::Name". Then, "require" will be invoked on the "path/to/file" portion, and the class itself will then be resolved. If the class includes the Singleton module, the singleton instance will be correctly resolved; in this case, it is an error to specify construction parameters.
148
+ </div>
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+ </div>
158
+ <div class="subschema-name">
159
+ initialize-method
160
+ [string]
161
+
162
+ </div>
163
+ <div class="subschema">
164
+
165
+ <div class="description">
166
+ This describes the name of the method to invoke when the service has been completely instantiated (and all properties wired into it). This defaults to "initialize_service". If the method does not exist, then nothing is invoked.
167
+ </div>
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+ </div>
177
+ <div class="subschema-name">
178
+ invoke
179
+ [hash]
180
+
181
+ </div>
182
+ <div class="subschema">
183
+
184
+ <div class="description">
185
+ A hash of method-name/parameter pairs, where the value of each pair is an array of parameters to pass to the method. These methods will be invoked in no particular order, after all properties have been assigned.
186
+ </div>
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+ </div>
196
+ <div class="subschema-name">
197
+ parameters
198
+ [array]
199
+
200
+ </div>
201
+ <div class="subschema">
202
+
203
+ <div class="description">
204
+ A list of values that should be passed (in order) to the constructor of the class. It is illegal to specify this value if the class includes the Singleton module.
205
+ </div>
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+ </div>
215
+ <div class="subschema-name">
216
+ properties
217
+ [hash]
218
+
219
+ </div>
220
+ <div class="subschema">
221
+
222
+ <div class="description">
223
+ A hash of property-name/value pairs that describe the properties to set on the instantiated object. Assignment occurs as follows: first, a setter is searched for, either "name=" or "set_name". If one is found, it is used to set the property. If no such setter exists, the property is set directly using "instance_variable_set".
224
+ </div>
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+ </div>
234
+ </div>
235
+
236
+
237
+ </div>
238
+
239
+
240
+
241
+
242
+
243
+
244
+ </div>
245
+
246
+
247
+ <h3><a name="FactoryDefaults_sp">FactoryDefaults</a> <small><em>(singleton)</em></small></h3>
248
+
249
+ <div class="item-body">
250
+
251
+
252
+ <p class="description">
253
+ The service point that provides access to the FactoryDefaults configuration point.
254
+ </p>
255
+
256
+
257
+ <h4>Implementor</h4>
258
+ <div class="definition-item">
259
+
260
+ <ul>
261
+ <li>factory: <a href="copland.html#BuilderFactory_sp">copland.BuilderFactory</a></li>
262
+
263
+ <li>class: copland/impl/symbol-source/Copland::Implementation::SymbolSource</li><li>properties: <ul><li>defaults: !!configuration <a href="copland.html#FactoryDefaults_cp">copland.FactoryDefaults</a></li></ul></li>
264
+
265
+ </ul>
266
+
267
+ </div>
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+ </div>
276
+
277
+
278
+ <h3><a name="LogFactory_sp">LogFactory</a> <small><em>(singleton)</em></small></h3>
279
+
280
+ <div class="item-body">
281
+
282
+
283
+ <p class="description">
284
+ The LogFactory service provides log instances on demand. It is always an identity for the log factory instance owned by the registry.
285
+ </p>
286
+
287
+
288
+ <h4>Implementor</h4>
289
+ <div class="definition-item">
290
+
291
+ Copland::LogFactory instance
292
+
293
+ </div>
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+ </div>
302
+
303
+
304
+ <h3><a name="LoggingInterceptor_sp">LoggingInterceptor</a> <small><em>(singleton)</em></small></h3>
305
+
306
+ <div class="item-body">
307
+
308
+
309
+ <p class="description">
310
+ An interceptor that adds logging to a service. Log entries are created for all method calls (on enter and exit) and for any raised exceptions. By default, all methods implemented by the service are included for logging, and may only be excluded by using the 'exclude' element. Anything matching any of the exclusion patterns will not be logged, unless it also matches an 'include' pattern.
311
+ </p>
312
+
313
+
314
+ <h4>Implementor</h4>
315
+ <div class="definition-item">
316
+
317
+ copland/impl/logging-interceptor/Copland::Implementation::LoggingInterceptorFactory
318
+
319
+ </div>
320
+
321
+
322
+ <h4>Schema</h4>
323
+ <div class="definition-item">
324
+ <a href="copland.html#IncludeExcludeSchema_scm">copland.IncludeExcludeSchema</a>
325
+ </div>
326
+
327
+
328
+
329
+
330
+
331
+
332
+ </div>
333
+
334
+
335
+ <h3><a name="Registry_sp">Registry</a> <small><em>(singleton)</em></small></h3>
336
+
337
+ <div class="item-body">
338
+
339
+
340
+ <p class="description">
341
+ This service is intended to allow services to obtain a reference to the registry which created them. In general, however, services should never need to reference the registry directly; instead, they should rely on their descriptors to specify their dependencies. There are a few exceptions to this rule, though, and it is for those exceptions that this service is made available.
342
+ </p>
343
+
344
+
345
+ <h4>Implementor</h4>
346
+ <div class="definition-item">
347
+
348
+ Copland::Registry instance
349
+
350
+ </div>
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+ </div>
359
+
360
+
361
+ <h3><a name="Startup_sp">Startup</a> <small><em>(singleton)</em></small></h3>
362
+
363
+ <div class="item-body">
364
+
365
+
366
+ <p class="description">
367
+ This is a service that will be automatically instantiated when the registry is initialized. Once invoked, it inspects the Startup configuration point to determine which other services to load. These clients will be ordered based on their 'before' and 'after' preferences, and then all enabled services will be started.
368
+ </p>
369
+
370
+
371
+ <h4>Implementor</h4>
372
+ <div class="definition-item">
373
+
374
+ <ul>
375
+ <li>factory: <a href="copland.html#BuilderFactory_sp">copland.BuilderFactory</a></li>
376
+
377
+ <li>class: copland/impl/startup/Copland::Implementation::Startup</li><li>properties: <ul><li>clients: !!configuration <a href="copland.html#Startup_cp">copland.Startup</a></li><li>registry: !!service <a href="copland.html#Registry_sp">copland.Registry</a></li></ul></li>
378
+
379
+ </ul>
380
+
381
+ </div>
382
+
383
+
384
+
385
+
386
+
387
+
388
+
389
+ </div>
390
+
391
+
392
+ <h3><a name="SymbolSourceManager_sp">SymbolSourceManager</a> <small><em>(singleton)</em></small></h3>
393
+
394
+ <div class="item-body">
395
+
396
+
397
+ <p class="description">
398
+ The service that manages all contributed symbol sources, and which may be queried to obtain values known by any of them.
399
+ </p>
400
+
401
+
402
+ <h4>Implementor</h4>
403
+ <div class="definition-item">
404
+
405
+ <ul>
406
+ <li>factory: <a href="copland.html#BuilderFactory_sp">copland.BuilderFactory</a></li>
407
+
408
+ <li>class: copland/impl/symbol-source-manager/Copland::Implementation::SymbolSourceManager</li><li>parameters: <ul><li>!!configuration <a href="copland.html#SymbolSources_cp">copland.SymbolSources</a></li></ul></li>
409
+
410
+ </ul>
411
+
412
+ </div>
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+ </div>
421
+
422
+
423
+
424
+
425
+ <!-- CONFIGURATION POINTS -->
426
+
427
+
428
+ <h2>Configuration Points</h2>
429
+
430
+
431
+ <h3><a name="ApplicationDefaults_cp">ApplicationDefaults</a> <small><em>(map)</em></small></h3>
432
+
433
+ <div class="item-body">
434
+
435
+
436
+ <p class="description">
437
+ This symbol source configuration point allows packages to override factory default values (see the FactoryDefaults configuration point).
438
+ </p>
439
+
440
+
441
+
442
+
443
+ </div>
444
+
445
+
446
+ <h3><a name="FactoryDefaults_cp">FactoryDefaults</a> <small><em>(map)</em></small></h3>
447
+
448
+ <div class="item-body">
449
+
450
+
451
+ <p class="description">
452
+ This symbol source configuration point allows packages to define "factory defaults" for various substitution symbols that they export.
453
+ </p>
454
+
455
+
456
+
457
+
458
+ </div>
459
+
460
+
461
+ <h3><a name="Startup_cp">Startup</a> <small><em>(list)</em></small></h3>
462
+
463
+ <div class="item-body">
464
+
465
+
466
+ <p class="description">
467
+ This is the data source for the Startup service. This allows services to register themselves to be automatically started when the registry has finished initializing. Services may also register their preferred ordering for startup.
468
+ </p>
469
+
470
+
471
+
472
+ <h4>Schema</h4>
473
+ <div class="definition-item">
474
+ <a href="copland.html#ClientDefinition_scm">copland.ClientDefinition</a>
475
+ </div>
476
+
477
+
478
+ </div>
479
+
480
+
481
+ <h3><a name="SymbolSources_cp">SymbolSources</a> <small><em>(list)</em></small></h3>
482
+
483
+ <div class="item-body">
484
+
485
+
486
+ <p class="description">
487
+ This is a list of services or objects that can be queried to provide symbols. Packages may contribute additional symbol sources to this list. Additionally, the sources may be given an explicit order in which they will be queried for symbols, allowing some sources to take precendence over others.
488
+ </p>
489
+
490
+
491
+
492
+ <h4>Schema</h4>
493
+ <div class="definition-item">
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+ <div class="schema-item">
502
+
503
+ <div class="subschema-name">
504
+ source
505
+ [any]
506
+ <em>(required)</em>
507
+ </div>
508
+ <div class="subschema">
509
+
510
+ <div class="description">
511
+ The implementor of the symbol source that is being contributed. It must be the name of a class, or an instance of a service.
512
+ </div>
513
+
514
+
515
+
516
+
517
+
518
+
519
+
520
+
521
+ </div>
522
+ <div class="subschema-name">
523
+ after
524
+ [array]
525
+
526
+ </div>
527
+ <div class="subschema">
528
+
529
+ <div class="description">
530
+ A list of symbol sources to be queried before this source.
531
+ </div>
532
+
533
+
534
+
535
+
536
+
537
+
538
+
539
+
540
+ </div>
541
+ <div class="subschema-name">
542
+ before
543
+ [array]
544
+
545
+ </div>
546
+ <div class="subschema">
547
+
548
+ <div class="description">
549
+ A list of symbol sources to be queried after this source.
550
+ </div>
551
+
552
+
553
+
554
+
555
+
556
+
557
+
558
+
559
+ </div>
560
+ <div class="subschema-name">
561
+ name
562
+ [string]
563
+
564
+ </div>
565
+ <div class="subschema">
566
+
567
+ <div class="description">
568
+ The name given to this symbol source. This allows it to be referenced in other sources' before and after lists.
569
+ </div>
570
+
571
+
572
+
573
+
574
+
575
+
576
+
577
+
578
+ </div>
579
+ </div>
580
+
581
+
582
+ </div>
583
+
584
+
585
+ </div>
586
+
587
+
588
+
589
+
590
+ <!-- SCHEMAS -->
591
+
592
+
593
+ <h2>Schemas</h2>
594
+
595
+
596
+ <h3><a name="ClientDefinition_scm">ClientDefinition</a></h3>
597
+
598
+
599
+
600
+ <div class="item-body">
601
+ <div class="definition-item">
602
+
603
+
604
+
605
+
606
+
607
+
608
+
609
+ <div class="schema-item">
610
+
611
+ <div class="subschema-name">
612
+ service
613
+ [string]
614
+ <em>(required)</em>
615
+ </div>
616
+ <div class="subschema">
617
+
618
+ <div class="description">
619
+ The (full) name of the client service.
620
+ </div>
621
+
622
+
623
+
624
+
625
+
626
+
627
+
628
+
629
+ </div>
630
+ <div class="subschema-name">
631
+ after
632
+ [array]
633
+
634
+ </div>
635
+ <div class="subschema">
636
+
637
+ <div class="description">
638
+ A list of other service names that should be notified before this service.
639
+ </div>
640
+
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+ </div>
649
+ <div class="subschema-name">
650
+ before
651
+ [array]
652
+
653
+ </div>
654
+ <div class="subschema">
655
+
656
+ <div class="description">
657
+ A list of other service names that should be notified after this service.
658
+ </div>
659
+
660
+
661
+
662
+
663
+
664
+
665
+
666
+
667
+ </div>
668
+ <div class="subschema-name">
669
+ enabled
670
+ [boolean]
671
+
672
+ </div>
673
+ <div class="subschema">
674
+
675
+ <div class="description">
676
+ Whether or not the service should be notified.
677
+ </div>
678
+
679
+
680
+
681
+
682
+
683
+
684
+
685
+
686
+ </div>
687
+ </div>
688
+
689
+
690
+ </div>
691
+ </div>
692
+
693
+ <h3><a name="IncludeExcludeSchema_scm">IncludeExcludeSchema</a></h3>
694
+
695
+
696
+ <p class="description">
697
+ This is a schema that may be used by any service that wishes to incorporate "include/exclude" functionality into itself.
698
+ </p>
699
+
700
+
701
+ <div class="item-body">
702
+ <div class="definition-item">
703
+
704
+
705
+
706
+
707
+
708
+
709
+
710
+ <div class="schema-item">
711
+
712
+ <div class="subschema-name">
713
+ exclude
714
+ [array]
715
+
716
+ </div>
717
+ <div class="subschema">
718
+
719
+ <div class="description">
720
+ A list of special expressions that define which methods are excluded from the operation. The format for these expressions is described under the 'include' element.
721
+ </div>
722
+
723
+
724
+
725
+
726
+
727
+
728
+
729
+
730
+ </div>
731
+ <div class="subschema-name">
732
+ include
733
+ [array]
734
+
735
+ </div>
736
+ <div class="subschema">
737
+
738
+ <div class="description">
739
+ A list of special expressions that define which methods are included in the operation. These expressions take the format "pattern" (where pattern in a regular expression that should match the method's name), or "pattern(arity)", where arity is either a positive integer (indicating that only methods with that arity match), or a positive integer preceded by a comparison operator (<, =, or >).
740
+ </div>
741
+
742
+
743
+
744
+
745
+
746
+
747
+
748
+
749
+ </div>
750
+ </div>
751
+
752
+
753
+ </div>
754
+ </div>
755
+
756
+
757
+ <div class="generated-by">
758
+ Generated by
759
+ <a href="http://copland.rubyforge.org">Copland</a>'s
760
+ Packrat documentation extractor
761
+ on Sun Sep 26 21:37:13 MDT 2004
762
+ </div>
763
+ </body>
764
+ </html>