xpcomcore-rubygem 0.3.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. data/README.markdown +14 -0
  2. data/Rakefile +13 -11
  3. data/VERSION +1 -1
  4. data/bin/xpcomcore +7 -0
  5. data/lib/xpcomcore-rubygem.rb +9 -0
  6. data/lib/xpcomcore-rubygem/commands.rb +54 -0
  7. data/lib/xpcomcore-rubygem/commands/generate.rb +23 -0
  8. data/lib/xpcomcore-rubygem/commands/generate/application.rb +63 -0
  9. data/lib/xpcomcore-rubygem/commands/generate/jeweler_builder_command.rb +108 -0
  10. data/lib/xpcomcore-rubygem/commands/generate/library.rb +25 -0
  11. data/lib/xpcomcore-rubygem/commands/generate/template_helpers.rb +78 -0
  12. data/lib/xpcomcore-rubygem/commands/launch.rb +129 -0
  13. data/templates/application/application.ini.erb +12 -0
  14. data/templates/application/chrome/chrome.manifest.erb +1 -0
  15. data/templates/application/chrome/content/xul/main_window.xul.erb +6 -0
  16. data/{extension → templates/application}/components/bootstrapper.js +1 -1
  17. data/templates/application/defaults/preferences/prefs.js.erb +7 -0
  18. data/templates/shared/jsdoc_doc_task.erb +7 -0
  19. data/templates/shared/xultestrunner_test_task.erb +7 -0
  20. data/xpcomcore-rubygem.gemspec +48 -136
  21. data/xpcomcore/Rakefile +42 -19
  22. data/xpcomcore/bootstrapper.js +1 -3
  23. data/xpcomcore/{VERSION.yml → build_properties.yml} +3 -0
  24. data/xpcomcore/components/XPCOMCore.js +0 -2
  25. data/xpcomcore/doc/files.html +10 -10
  26. data/xpcomcore/doc/index.html +17 -17
  27. data/xpcomcore/doc/symbols/_global_.html +10 -9
  28. data/xpcomcore/doc/symbols/{Error.html → error.html} +10 -9
  29. data/xpcomcore/doc/symbols/{File.html → file.html} +13 -12
  30. data/xpcomcore/doc/symbols/{File.NoSuchFileError.html → file.nosuchfileerror.html} +13 -12
  31. data/xpcomcore/doc/symbols/{Kernel.html → kernel.html} +48 -47
  32. data/xpcomcore/doc/symbols/{LoadError.html → loaderror.html} +13 -12
  33. data/xpcomcore/doc/symbols/{SelfConceptError.html → selfconcepterror.html} +13 -12
  34. data/xpcomcore/doc/symbols/{Sys.html → sys.html} +12 -11
  35. data/xpcomcore/doc/symbols/{XPCBuiltins.html → xpcbuiltins.html} +11 -10
  36. metadata +61 -135
  37. data/README.rdoc +0 -18
  38. data/bin/xpcomcore-firefox +0 -4
  39. data/bin/xpcomcore-rubygem-install +0 -205
  40. data/extension/README.txt +0 -1
  41. data/extension/install.rdf +0 -16
  42. data/xpcomcore/etc/jsdoc-toolkit/README.txt +0 -186
  43. data/xpcomcore/etc/jsdoc-toolkit/app/frame.js +0 -33
  44. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Chain.js +0 -102
  45. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Dumper.js +0 -144
  46. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Hash.js +0 -84
  47. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Link.js +0 -153
  48. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Namespace.js +0 -10
  49. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Opt.js +0 -134
  50. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Reflection.js +0 -26
  51. data/xpcomcore/etc/jsdoc-toolkit/app/frame/String.js +0 -93
  52. data/xpcomcore/etc/jsdoc-toolkit/app/frame/Testrun.js +0 -129
  53. data/xpcomcore/etc/jsdoc-toolkit/app/handlers/FOODOC.js +0 -26
  54. data/xpcomcore/etc/jsdoc-toolkit/app/handlers/XMLDOC.js +0 -26
  55. data/xpcomcore/etc/jsdoc-toolkit/app/handlers/XMLDOC/DomReader.js +0 -159
  56. data/xpcomcore/etc/jsdoc-toolkit/app/handlers/XMLDOC/XMLDoc.js +0 -16
  57. data/xpcomcore/etc/jsdoc-toolkit/app/handlers/XMLDOC/XMLParse.js +0 -292
  58. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC.js +0 -104
  59. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/DocComment.js +0 -200
  60. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/DocTag.js +0 -294
  61. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/JsDoc.js +0 -126
  62. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/JsPlate.js +0 -109
  63. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Lang.js +0 -144
  64. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Parser.js +0 -145
  65. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/PluginManager.js +0 -33
  66. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Symbol.js +0 -645
  67. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/SymbolSet.js +0 -241
  68. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/TextStream.js +0 -41
  69. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Token.js +0 -18
  70. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/TokenReader.js +0 -332
  71. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/TokenStream.js +0 -133
  72. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Util.js +0 -32
  73. data/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Walker.js +0 -474
  74. data/xpcomcore/etc/jsdoc-toolkit/app/main.js +0 -111
  75. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/commentSrcJson.js +0 -20
  76. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/frameworkPrototype.js +0 -16
  77. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/functionCall.js +0 -10
  78. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/publishSrcHilite.js +0 -62
  79. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/symbolLink.js +0 -10
  80. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/tagParamConfig.js +0 -31
  81. data/xpcomcore/etc/jsdoc-toolkit/app/plugins/tagSynonyms.js +0 -43
  82. data/xpcomcore/etc/jsdoc-toolkit/app/run.js +0 -348
  83. data/xpcomcore/etc/jsdoc-toolkit/app/t/TestDoc.js +0 -144
  84. data/xpcomcore/etc/jsdoc-toolkit/app/t/runner.js +0 -13
  85. data/xpcomcore/etc/jsdoc-toolkit/app/test.js +0 -325
  86. data/xpcomcore/etc/jsdoc-toolkit/app/test/addon.js +0 -24
  87. data/xpcomcore/etc/jsdoc-toolkit/app/test/anon_inner.js +0 -14
  88. data/xpcomcore/etc/jsdoc-toolkit/app/test/augments.js +0 -31
  89. data/xpcomcore/etc/jsdoc-toolkit/app/test/augments2.js +0 -26
  90. data/xpcomcore/etc/jsdoc-toolkit/app/test/borrows.js +0 -46
  91. data/xpcomcore/etc/jsdoc-toolkit/app/test/borrows2.js +0 -23
  92. data/xpcomcore/etc/jsdoc-toolkit/app/test/config.js +0 -22
  93. data/xpcomcore/etc/jsdoc-toolkit/app/test/constructs.js +0 -18
  94. data/xpcomcore/etc/jsdoc-toolkit/app/test/encoding.js +0 -10
  95. data/xpcomcore/etc/jsdoc-toolkit/app/test/encoding_other.js +0 -12
  96. data/xpcomcore/etc/jsdoc-toolkit/app/test/event.js +0 -54
  97. data/xpcomcore/etc/jsdoc-toolkit/app/test/exports.js +0 -14
  98. data/xpcomcore/etc/jsdoc-toolkit/app/test/functions_anon.js +0 -39
  99. data/xpcomcore/etc/jsdoc-toolkit/app/test/functions_nested.js +0 -33
  100. data/xpcomcore/etc/jsdoc-toolkit/app/test/global.js +0 -13
  101. data/xpcomcore/etc/jsdoc-toolkit/app/test/globals.js +0 -25
  102. data/xpcomcore/etc/jsdoc-toolkit/app/test/ignore.js +0 -10
  103. data/xpcomcore/etc/jsdoc-toolkit/app/test/inner.js +0 -16
  104. data/xpcomcore/etc/jsdoc-toolkit/app/test/jsdoc_test.js +0 -477
  105. data/xpcomcore/etc/jsdoc-toolkit/app/test/lend.js +0 -33
  106. data/xpcomcore/etc/jsdoc-toolkit/app/test/memberof.js +0 -19
  107. data/xpcomcore/etc/jsdoc-toolkit/app/test/memberof_constructor.js +0 -17
  108. data/xpcomcore/etc/jsdoc-toolkit/app/test/module.js +0 -17
  109. data/xpcomcore/etc/jsdoc-toolkit/app/test/name.js +0 -19
  110. data/xpcomcore/etc/jsdoc-toolkit/app/test/namespace_nested.js +0 -23
  111. data/xpcomcore/etc/jsdoc-toolkit/app/test/nocode.js +0 -13
  112. data/xpcomcore/etc/jsdoc-toolkit/app/test/oblit_anon.js +0 -20
  113. data/xpcomcore/etc/jsdoc-toolkit/app/test/overview.js +0 -20
  114. data/xpcomcore/etc/jsdoc-toolkit/app/test/param_inline.js +0 -37
  115. data/xpcomcore/etc/jsdoc-toolkit/app/test/params_optional.js +0 -8
  116. data/xpcomcore/etc/jsdoc-toolkit/app/test/prototype.js +0 -17
  117. data/xpcomcore/etc/jsdoc-toolkit/app/test/prototype_nested.js +0 -9
  118. data/xpcomcore/etc/jsdoc-toolkit/app/test/prototype_oblit.js +0 -13
  119. data/xpcomcore/etc/jsdoc-toolkit/app/test/prototype_oblit_constructor.js +0 -24
  120. data/xpcomcore/etc/jsdoc-toolkit/app/test/public.js +0 -10
  121. data/xpcomcore/etc/jsdoc-toolkit/app/test/scripts/code.js +0 -5
  122. data/xpcomcore/etc/jsdoc-toolkit/app/test/scripts/notcode.txt +0 -5
  123. data/xpcomcore/etc/jsdoc-toolkit/app/test/shared.js +0 -42
  124. data/xpcomcore/etc/jsdoc-toolkit/app/test/shared2.js +0 -2
  125. data/xpcomcore/etc/jsdoc-toolkit/app/test/shortcuts.js +0 -22
  126. data/xpcomcore/etc/jsdoc-toolkit/app/test/static_this.js +0 -13
  127. data/xpcomcore/etc/jsdoc-toolkit/app/test/synonyms.js +0 -31
  128. data/xpcomcore/etc/jsdoc-toolkit/app/test/tosource.js +0 -23
  129. data/xpcomcore/etc/jsdoc-toolkit/app/test/variable_redefine.js +0 -14
  130. data/xpcomcore/etc/jsdoc-toolkit/changes.txt +0 -96
  131. data/xpcomcore/etc/jsdoc-toolkit/conf/sample.conf +0 -31
  132. data/xpcomcore/etc/jsdoc-toolkit/java/build.xml +0 -36
  133. data/xpcomcore/etc/jsdoc-toolkit/java/build_1.4.xml +0 -36
  134. data/xpcomcore/etc/jsdoc-toolkit/java/classes/js.jar +0 -0
  135. data/xpcomcore/etc/jsdoc-toolkit/java/src/JsDebugRun.java +0 -21
  136. data/xpcomcore/etc/jsdoc-toolkit/java/src/JsRun.java +0 -21
  137. data/xpcomcore/etc/jsdoc-toolkit/jsdebug.jar +0 -0
  138. data/xpcomcore/etc/jsdoc-toolkit/jsrun.jar +0 -0
  139. data/xpcomcore/etc/jsdoc-toolkit/jsrun.sh +0 -52
  140. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/allclasses.tmpl +0 -17
  141. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/allfiles.tmpl +0 -56
  142. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/class.tmpl +0 -646
  143. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/index.tmpl +0 -39
  144. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/publish.js +0 -200
  145. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/static/default.css +0 -162
  146. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/static/header.html +0 -2
  147. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/static/index.html +0 -19
  148. data/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/symbol.tmpl +0 -35
@@ -1,16 +0,0 @@
1
- /**
2
- * @constructor
3
- */
4
- function Outer() {
5
- /**
6
- * @constructor
7
- */
8
- function Inner(name) {
9
- /** The name of this. */
10
- this.name = name;
11
- }
12
-
13
- this.open = function(name) {
14
- return (new Inner(name));
15
- }
16
- }
@@ -1,477 +0,0 @@
1
- /**
2
- * @fileoverview This file is to be used for testing the JSDoc parser
3
- * It is not intended to be an example of good JavaScript OO-programming,
4
- * nor is it intended to fulfill any specific purpose apart from
5
- * demonstrating the functionality of the
6
- * <a href='http://sourceforge.net/projects/jsdoc'>JSDoc</a> parser
7
- *
8
- * @author Gabriel Reid gab_reid@users.sourceforge.net
9
- * @version 0.1
10
- */
11
-
12
-
13
- /**
14
- * Construct a new Shape object.
15
- * @class This is the basic Shape class.
16
- * It can be considered an abstract class, even though no such thing
17
- * really existing in JavaScript
18
- * @constructor
19
- * @throws MemoryException if there is no more memory
20
- * @throws GeneralShapeException rarely (if ever)
21
- * @return {Shape|Coordinate} A new shape.
22
- */
23
- function Shape(){
24
-
25
- /**
26
- * This is an example of a function that is not given as a property
27
- * of a prototype, but instead it is assigned within a constructor.
28
- * For inner functions like this to be picked up by the parser, the
29
- * function that acts as a constructor <b>must</b> be denoted with
30
- * the <b>&#64;constructor</b> tag in its comment.
31
- * @type String
32
- */
33
- this.getClassName = function(){
34
- return "Shape";
35
- }
36
-
37
- /**
38
- * This is an inner method, just used here as an example
39
- * @since version 0.5
40
- * @author Sue Smart
41
- */
42
- function addReference(){
43
- // Do nothing...
44
- }
45
-
46
- }
47
-
48
- /**
49
- * Create a new Hexagon instance.
50
- * @extends Shape
51
- * @class Hexagon is a class that is a <i>logical</i> sublcass of
52
- * {@link Shape} (thanks to the <code>&#64;extends</code> tag), but in
53
- * reality it is completely unrelated to Shape.
54
- * @param {int} sideLength The length of one side for the new Hexagon
55
- * @example
56
- * var h = new Hexagon(2);
57
- * @example
58
- * if (hasHex) {
59
- * hex = new Hexagon(5);
60
- * color = hex.getColor();
61
- * }
62
- */
63
- function Hexagon(sideLength) {
64
- }
65
-
66
-
67
- /**
68
- * This is an unattached (static) function that adds two integers together.
69
- * @param {int} One The first number to add
70
- * @param {int} Two The second number to add
71
- * @author Gabriel Reid
72
- * @deprecated So you shouldn't use it anymore! Use {@link Shape#getClassName} instead.
73
- */
74
- function Add(One, Two){
75
- return One + Two;
76
- }
77
-
78
-
79
- /**
80
- * The color of this shape
81
- * @type Color
82
- */
83
- Shape.prototype.color = null;
84
-
85
- /**
86
- * The border of this shape.
87
- * @field
88
- * @type int
89
- */
90
- Shape.prototype.border = function(){return border;};
91
-
92
- /*
93
- * These are all the instance method implementations for Shape
94
- */
95
-
96
- /**
97
- * Get the coordinates of this shape. It is assumed that we're always talking
98
- * about shapes in a 2D location here.
99
- * @requires The {@link Shape} class
100
- * @returns A Coordinate object representing the location of this Shape
101
- * @type Coordinate[]
102
- */
103
- Shape.prototype.getCoords = function(){
104
- return this.coords;
105
- }
106
-
107
- /**
108
- * Get the color of this shape.
109
- * @see #setColor
110
- * @see The <a href="http://example.com">Color</a> library.
111
- * @link Shape
112
- * @type Color
113
- */
114
- Shape.prototype.getColor = function(){
115
- return this.color;
116
- }
117
-
118
- /**
119
- * Set the coordinates for this Shape
120
- * @param {Coordinate} coordinates The coordinates to set for this Shape
121
- */
122
- Shape.prototype.setCoords = function(coordinates){
123
- this.coords = coordinates;
124
- }
125
-
126
- /**
127
- * Set the color for this Shape
128
- * @param {Color} color The color to set for this Shape
129
- * @param other There is no other param, but it can still be documented if
130
- * optional parameters are used
131
- * @throws NonExistantColorException (no, not really!)
132
- * @see #getColor
133
- */
134
- Shape.prototype.setColor = function(color){
135
- this.color = color;
136
- }
137
-
138
- /**
139
- * Clone this shape
140
- * @returns A copy of this shape
141
- * @type Shape
142
- * @author Gabriel Reid
143
- */
144
- Shape.prototype.clone = function(){
145
- return new Shape();
146
- }
147
-
148
- /**
149
- * Create a new Rectangle instance.
150
- * @class A basic rectangle class, inherits from Shape.
151
- * This class could be considered a concrete implementation class
152
- * @constructor
153
- * @param {int} width The optional width for this Rectangle
154
- * @param {int} height Thie optional height for this Rectangle
155
- * @author Gabriel Reid
156
- * @see Shape is the base class for this
157
- * @augments Shape
158
- * @hilited
159
- */
160
- function Rectangle(width, // This is the width
161
- height // This is the height
162
- ){
163
- if (width){
164
- this.width = width;
165
- if (height){
166
- this.height = height;
167
- }
168
- }
169
- }
170
-
171
-
172
- /* Inherit from Shape */
173
- Rectangle.prototype = new Shape();
174
-
175
- /**
176
- * Value to represent the width of the Rectangle.
177
- * <br>Text in <b>bold</b> and <i>italic</i> and a
178
- * link to <a href="http://sf.net">SourceForge</a>
179
- * @private
180
- * @type int
181
- */
182
- Rectangle.prototype.width = 0;
183
-
184
- /**
185
- * Value to represent the height of the Rectangle
186
- * @private
187
- * @type int
188
- */
189
- Rectangle.prototype.height = 0;
190
-
191
- /**
192
- * Get the type of this object.
193
- * @type String
194
- */
195
- Rectangle.prototype.getClassName= function(){
196
- return "Rectangle";
197
- }
198
-
199
- /**
200
- * Get the value of the width for the Rectangle
201
- * @type int
202
- * @see Rectangle#setWidth
203
- */
204
- Rectangle.prototype.getWidth = function(){
205
- return this.width;
206
- }
207
-
208
- /**
209
- * Get the value of the height for the Rectangle.
210
- * Another getter is the {@link Shape#getColor} method in the
211
- * {@link Shape} base class.
212
- * @return The height of this Rectangle
213
- * @type int
214
- * @see Rectangle#setHeight
215
- */
216
- Rectangle.prototype.getHeight = function(){
217
- return this.height;
218
- }
219
-
220
- /**
221
- * Set the width value for this Rectangle.
222
- * @param {int} width The width value to be set
223
- * @see #setWidth
224
- */
225
- Rectangle.prototype.setWidth = function(width){
226
- this.width = width;
227
- }
228
-
229
- /**
230
- * Set the height value for this Rectangle.
231
- * @param {int} height The height value to be set
232
- * @see #getHeight
233
- */
234
- Rectangle.prototype.setHeight = function(height){
235
- this.height = height;
236
- }
237
-
238
- /**
239
- * Get the value for the total area of this Rectangle
240
- * @return total area of this Rectangle
241
- * @type int
242
- */
243
- Rectangle.prototype.getArea = function(){
244
- return width * height;
245
- }
246
-
247
-
248
- /**
249
- * Create a new Square instance.
250
- * @class A Square is a subclass of {@link Rectangle}
251
- * @param {int} width The optional width for this Rectangle
252
- * @param {int} height The optional height for this Rectangle
253
- * @augments Rectangle
254
- */
255
- function Square(width, height){
256
- if (width){
257
- this.width = width;
258
- if (height){
259
- this.height = height;
260
- }
261
- }
262
-
263
- }
264
-
265
- /* Square is a subclass of Rectangle */
266
- Square.prototype = new Rectangle();
267
-
268
- /**
269
- * Set the width value for this Shape.
270
- * @param {int} width The width value to be set
271
- * @see #getWidth
272
- */
273
- Square.prototype.setWidth = function(width){
274
- this.width = this.height = width;
275
- }
276
-
277
- /**
278
- * Set the height value for this Shape
279
- * Sets the {@link Rectangle#height} attribute in the Rectangle.
280
- * @param {int} height The height value to be set
281
- */
282
- Square.prototype.setHeight = function(height){
283
- this.height = this.width = height;
284
- }
285
-
286
-
287
- /**
288
- * Create a new Circle instance based on a radius.
289
- * @class Circle class is another subclass of Shape
290
- * @extends Shape
291
- * @param {int} radius The optional radius of this {@link Circle }
292
- * @mixin Square.prototype.setWidth as this.setDiameter
293
- */
294
- function Circle(radius){
295
- if (radius) {
296
- /** The radius of the this Circle. */
297
- this.radius = radius;
298
- }
299
- }
300
-
301
- /* Circle inherits from {@link Shape} */
302
- Circle.prototype = new Shape();
303
-
304
- /**
305
- * The radius value for this Circle
306
- * @private
307
- * @type int
308
- */
309
- Circle.prototype.radius = 0;
310
-
311
- /**
312
- * A very simple class (static) field that is also a constant
313
- * @final
314
- * @type float
315
- */
316
- Circle.PI = 3.14;
317
-
318
- /**
319
- * Get the radius value for this Circle
320
- * @type int
321
- * @see #setRadius
322
- */
323
- Circle.prototype.getRadius = function(){
324
- return this.radius;
325
- }
326
-
327
- /**
328
- * Set the radius value for this Circle
329
- * @param {int} radius The {@link Circle#radius} value to set
330
- * @see #getRadius
331
- */
332
- Circle.prototype.setRadius = function(radius){
333
- this.radius = radius;
334
- }
335
-
336
- /**
337
- * An example of a class (static) method that acts as a factory for Circle
338
- * objects. Given a radius value, this method creates a new Circle.
339
- * @param {int} radius The radius value to use for the new Circle.
340
- * @type Circle
341
- */
342
- Circle.createCircle = function(radius){
343
- return new Circle(radius);
344
- }
345
-
346
-
347
- /**
348
- * Create a new Coordinate instance based on x and y grid data.
349
- * @class Coordinate is a class that can encapsulate location information.
350
- * @param {int} [x=0] The optional x portion of the Coordinate
351
- * @param {int} [y=0] The optinal y portion of the Coordinate
352
- */
353
- function Coordinate(x, y){
354
- if (x){
355
- this.x = x;
356
- if (y){
357
- this.y = y;
358
- }
359
- }
360
- }
361
-
362
- /**
363
- * The x portion of the Coordinate
364
- * @type int
365
- * @see #getX
366
- * @see #setX
367
- */
368
- Coordinate.prototype.x = 0;
369
-
370
- /**
371
- * The y portion of the Coordinate
372
- * @type int
373
- * @see #getY
374
- * @see #setY
375
- */
376
- Coordinate.prototype.y = 0;
377
-
378
- /**
379
- * Gets the x portion of the Coordinate.
380
- * @type int
381
- * @see #setX
382
- */
383
- Coordinate.prototype.getX = function(){
384
- return this.x;
385
- }
386
-
387
- /**
388
- * Get the y portion of the Coordinate.
389
- * @type int
390
- * @see #setY
391
- */
392
- Coordinate.prototype.getY = function(){
393
- return this.y;
394
- }
395
-
396
- /**
397
- * Sets the x portion of the Coordinate.
398
- * @param {int} x The x value to set
399
- * @see #getX
400
- */
401
- Coordinate.prototype.setX = function(x){
402
- this.x = x;
403
- }
404
-
405
- /**
406
- * Sets the y portion of the Coordinate.
407
- * @param {int} y The y value to set
408
- * @see #getY
409
- */
410
- Coordinate.prototype.setY = function(y){
411
- this.y = y;
412
- }
413
-
414
- /**
415
- * @class This class exists to demonstrate the assignment of a class prototype
416
- * as an anonymous block.
417
- */
418
- function ShapeFactory(){
419
- }
420
-
421
- ShapeFactory.prototype = {
422
- /**
423
- * Creates a new {@link Shape} instance.
424
- * @return A new {@link Shape}
425
- * @type Shape
426
- */
427
- createShape: function(){
428
- return new Shape();
429
- }
430
- }
431
-
432
- /**
433
- * An example of a singleton class
434
- * @param ... Arguments represent {@link coordinate}s in the shape.
435
- * @constructor
436
- */
437
- MySingletonShapeFactory = function(){
438
-
439
- /**
440
- * Get the next {@link Shape}
441
- * @type Shape
442
- * @return A new {@link Shape}
443
- */
444
- this.getShape = function(){
445
- return null;
446
- }
447
-
448
- }
449
-
450
-
451
- /**
452
- * Create a new Foo instance.
453
- * @class This is the Foo class. It exists to demonstrate 'nested' classes.
454
- * @constructor
455
- * @see Foo.Bar
456
- */
457
- function Foo(){}
458
-
459
- /**
460
- * Creates a new instance of Bar.
461
- * @class This class exists to demonstrate 'nested' classes.
462
- * @constructor
463
- * @see Foo.Bar
464
- */
465
- function Bar(){}
466
-
467
- /**
468
- * Nested class
469
- * @constructor
470
- */
471
- Foo.Bar = function(){
472
- /** The x. */ this.x = 2;
473
- }
474
-
475
- Foo.Bar.prototype = new Bar();
476
- /** The y. */
477
- Foo.Bar.prototype.y = '3';