sbin/res/app/test/jsdoc_test.js
author hamidouk
Fri, 23 Dec 2011 10:59:23 +0100
branchjsdoc
changeset 519 46e21d060650
permissions -rw-r--r--
added jsdoc base files.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
519
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
     1
/** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
     2
 * @fileoverview This file is to be used for testing the JSDoc parser
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
     3
 * It is not intended to be an example of good JavaScript OO-programming,
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
     4
 * nor is it intended to fulfill any specific purpose apart from 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
     5
 * demonstrating the functionality of the 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
     6
 * <a href='http://sourceforge.net/projects/jsdoc'>JSDoc</a> parser
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
     7
 *
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
     8
 * @author Gabriel Reid gab_reid@users.sourceforge.net
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
     9
 * @version 0.1 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    10
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    11
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    12
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    13
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    14
 * Construct a new Shape object.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    15
 * @class This is the basic Shape class.  
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    16
 * It can be considered an abstract class, even though no such thing
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    17
 * really existing in JavaScript
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    18
 * @constructor
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    19
 * @throws MemoryException if there is no more memory 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    20
 * @throws GeneralShapeException rarely (if ever)
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    21
 * @return {Shape|Coordinate} A new shape.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    22
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    23
function Shape(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    24
  
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    25
   /**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    26
    * This is an example of a function that is not given as a property
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    27
    * of a prototype, but instead it is assigned within a constructor.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    28
    * For inner functions like this to be picked up by the parser, the
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    29
    * function that acts as a constructor <b>must</b> be denoted with
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    30
    * the <b>&#64;constructor</b> tag in its comment.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    31
    * @type String
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    32
    */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    33
   this.getClassName = function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    34
      return "Shape";
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    35
   }
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    36
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    37
   /** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    38
    * This is an inner method, just used here as an example
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    39
    * @since version 0.5
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    40
    * @author Sue Smart
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    41
    */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    42
   function addReference(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    43
       // Do nothing...
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    44
   }
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    45
   
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    46
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    47
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    48
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    49
 * Create a new Hexagon instance.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    50
 * @extends Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    51
 * @class Hexagon is a class that is a <i>logical</i> sublcass of 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    52
 * {@link Shape} (thanks to the <code>&#64;extends</code> tag), but in 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    53
 * reality it is completely unrelated to Shape.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    54
 * @param {int} sideLength The length of one side for the new Hexagon
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    55
 * @example
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    56
 * var h = new Hexagon(2);
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    57
 * @example
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    58
 * if (hasHex) {
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    59
 *     hex   = new Hexagon(5);
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    60
 *     color = hex.getColor();
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    61
 * }
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    62
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    63
function Hexagon(sideLength) {
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    64
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    65
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    66
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    67
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    68
 * This is an unattached (static) function that adds two integers together.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    69
 * @param {int} One The first number to add 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    70
 * @param {int} Two The second number to add 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    71
 * @author Gabriel Reid
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    72
 * @deprecated So you shouldn't use it anymore! Use {@link Shape#getClassName} instead.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    73
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    74
function Add(One, Two){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    75
    return One + Two;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    76
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    77
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    78
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    79
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    80
 * The color of this shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    81
 * @type Color
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    82
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    83
Shape.prototype.color = null;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    84
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    85
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    86
 * The border of this shape. 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    87
 * @field
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    88
 * @type int
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    89
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    90
Shape.prototype.border = function(){return border;};
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    91
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    92
/*
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    93
 * These are all the instance method implementations for Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    94
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    95
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    96
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    97
 * Get the coordinates of this shape. It is assumed that we're always talking
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    98
 * about shapes in a 2D location here.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
    99
 * @requires The {@link Shape} class
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   100
 * @returns A Coordinate object representing the location of this Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   101
 * @type Coordinate[]
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   102
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   103
Shape.prototype.getCoords = function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   104
   return this.coords;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   105
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   106
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   107
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   108
 * Get the color of this shape.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   109
 * @see #setColor
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   110
 * @see The <a href="http://example.com">Color</a> library.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   111
 * @link Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   112
 * @type Color
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   113
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   114
Shape.prototype.getColor = function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   115
   return this.color;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   116
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   117
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   118
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   119
 * Set the coordinates for this Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   120
 * @param {Coordinate} coordinates The coordinates to set for this Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   121
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   122
Shape.prototype.setCoords = function(coordinates){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   123
   this.coords = coordinates;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   124
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   125
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   126
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   127
 * Set the color for this Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   128
 * @param {Color} color The color to set for this Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   129
 * @param other There is no other param, but it can still be documented if
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   130
 *              optional parameters are used
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   131
 * @throws NonExistantColorException (no, not really!)
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   132
 * @see #getColor
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   133
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   134
Shape.prototype.setColor = function(color){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   135
   this.color = color;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   136
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   137
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   138
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   139
 * Clone this shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   140
 * @returns A copy of this shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   141
 * @type Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   142
 * @author Gabriel Reid
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   143
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   144
Shape.prototype.clone = function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   145
   return new Shape();
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   146
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   147
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   148
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   149
 * Create a new Rectangle instance. 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   150
 * @class A basic rectangle class, inherits from Shape.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   151
 * This class could be considered a concrete implementation class
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   152
 * @constructor
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   153
 * @param {int} width The optional width for this Rectangle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   154
 * @param {int} height Thie optional height for this Rectangle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   155
 * @author Gabriel Reid
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   156
 * @see Shape is the base class for this
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   157
 * @augments Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   158
 * @hilited
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   159
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   160
function Rectangle(width, // This is the width 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   161
                  height // This is the height
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   162
                  ){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   163
   if (width){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   164
      this.width = width;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   165
      if (height){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   166
	 this.height = height;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   167
      }
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   168
   }
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   169
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   170
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   171
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   172
/* Inherit from Shape */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   173
Rectangle.prototype = new Shape();
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   174
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   175
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   176
 * Value to represent the width of the Rectangle.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   177
 * <br>Text in <b>bold</b> and <i>italic</i> and a 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   178
 * link to <a href="http://sf.net">SourceForge</a>
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   179
 * @private
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   180
 * @type int
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   181
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   182
Rectangle.prototype.width = 0;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   183
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   184
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   185
 * Value to represent the height of the Rectangle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   186
 * @private
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   187
 * @type int
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   188
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   189
Rectangle.prototype.height = 0;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   190
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   191
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   192
 * Get the type of this object. 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   193
 * @type String
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   194
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   195
Rectangle.prototype.getClassName= function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   196
    return "Rectangle";
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   197
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   198
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   199
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   200
 * Get the value of the width for the Rectangle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   201
 * @type int
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   202
 * @see Rectangle#setWidth
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   203
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   204
Rectangle.prototype.getWidth = function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   205
   return this.width;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   206
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   207
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   208
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   209
 * Get the value of the height for the Rectangle.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   210
 * Another getter is the {@link Shape#getColor} method in the 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   211
 * {@link Shape} base class.  
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   212
 * @return The height of this Rectangle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   213
 * @type int
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   214
 * @see Rectangle#setHeight
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   215
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   216
Rectangle.prototype.getHeight = function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   217
    return this.height;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   218
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   219
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   220
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   221
 * Set the width value for this Rectangle.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   222
 * @param {int} width The width value to be set
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   223
 * @see #setWidth
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   224
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   225
Rectangle.prototype.setWidth = function(width){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   226
   this.width = width;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   227
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   228
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   229
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   230
 * Set the height value for this Rectangle.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   231
 * @param {int} height The height value to be set
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   232
 * @see #getHeight
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   233
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   234
Rectangle.prototype.setHeight = function(height){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   235
   this.height = height;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   236
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   237
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   238
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   239
 * Get the value for the total area of this Rectangle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   240
 * @return total area of this Rectangle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   241
 * @type int
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   242
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   243
Rectangle.prototype.getArea = function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   244
   return width * height;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   245
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   246
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   247
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   248
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   249
 * Create a new Square instance.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   250
 * @class A Square is a subclass of {@link Rectangle}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   251
 * @param {int} width The optional width for this Rectangle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   252
 * @param {int} height The optional height for this Rectangle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   253
 * @augments Rectangle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   254
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   255
function Square(width, height){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   256
   if (width){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   257
      this.width = width;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   258
      if (height){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   259
	 this.height = height;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   260
      }
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   261
   } 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   262
   
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   263
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   264
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   265
/* Square is a subclass of Rectangle */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   266
Square.prototype = new Rectangle();
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   267
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   268
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   269
 * Set the width value for this Shape.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   270
 * @param {int} width The width value to be set
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   271
 * @see #getWidth
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   272
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   273
Square.prototype.setWidth = function(width){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   274
   this.width = this.height = width;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   275
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   276
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   277
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   278
 * Set the height value for this Shape 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   279
 * Sets the {@link Rectangle#height} attribute in the Rectangle.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   280
 * @param {int} height The height value to be set
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   281
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   282
Square.prototype.setHeight = function(height){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   283
   this.height = this.width = height;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   284
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   285
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   286
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   287
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   288
 * Create a new Circle instance based on a radius.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   289
 * @class Circle class is another subclass of Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   290
 * @extends Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   291
 * @param {int} radius The optional radius of this {@link Circle }
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   292
 * @mixin Square.prototype.setWidth as this.setDiameter
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   293
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   294
function Circle(radius){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   295
   if (radius) {
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   296
      /** The radius of the this Circle. */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   297
      this.radius = radius;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   298
   }
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   299
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   300
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   301
/* Circle inherits from {@link Shape} */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   302
Circle.prototype = new Shape();
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   303
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   304
/** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   305
 * The radius value for this Circle 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   306
 * @private
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   307
 * @type int
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   308
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   309
Circle.prototype.radius = 0;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   310
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   311
/** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   312
 * A very simple class (static) field that is also a constant
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   313
 * @final
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   314
 * @type float
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   315
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   316
Circle.PI = 3.14;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   317
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   318
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   319
 * Get the radius value for this Circle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   320
 * @type int
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   321
 * @see #setRadius
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   322
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   323
Circle.prototype.getRadius = function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   324
   return this.radius;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   325
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   326
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   327
/** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   328
 * Set the radius value for this Circle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   329
 * @param {int} radius The {@link Circle#radius} value to set
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   330
 * @see #getRadius
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   331
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   332
Circle.prototype.setRadius = function(radius){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   333
   this.radius = radius;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   334
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   335
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   336
/** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   337
 * An example of a  class (static) method that acts as a factory for Circle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   338
 * objects. Given a radius value, this method creates a new Circle.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   339
 * @param {int} radius The radius value to use for the new Circle.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   340
 * @type Circle
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   341
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   342
Circle.createCircle = function(radius){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   343
    return new Circle(radius);
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   344
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   345
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   346
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   347
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   348
 * Create a new Coordinate instance based on x and y grid data.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   349
 * @class Coordinate is a class that can encapsulate location information.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   350
 * @param {int} [x=0] The optional x portion of the Coordinate
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   351
 * @param {int} [y=0] The optinal y portion of the Coordinate
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   352
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   353
function Coordinate(x, y){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   354
   if (x){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   355
      this.x = x;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   356
      if (y){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   357
	 this.y = y;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   358
      }
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   359
   }
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   360
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   361
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   362
/** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   363
 * The x portion of the Coordinate 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   364
 * @type int
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   365
 * @see #getX
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   366
 * @see #setX
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   367
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   368
Coordinate.prototype.x = 0;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   369
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   370
/** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   371
 * The y portion of the Coordinate 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   372
 * @type int
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   373
 * @see #getY
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   374
 * @see #setY
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   375
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   376
Coordinate.prototype.y = 0;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   377
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   378
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   379
 * Gets the x portion of the Coordinate.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   380
 * @type int
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   381
 * @see #setX
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   382
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   383
Coordinate.prototype.getX = function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   384
   return this.x;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   385
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   386
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   387
/** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   388
 * Get the y portion of the Coordinate.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   389
 * @type int
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   390
 * @see #setY
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   391
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   392
Coordinate.prototype.getY = function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   393
   return this.y;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   394
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   395
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   396
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   397
 * Sets the x portion of the Coordinate.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   398
 * @param {int} x The x value to set
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   399
 * @see #getX
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   400
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   401
Coordinate.prototype.setX = function(x){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   402
   this.x = x;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   403
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   404
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   405
/** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   406
 * Sets the y portion of the Coordinate.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   407
 * @param {int} y The y value to set
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   408
 * @see #getY
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   409
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   410
Coordinate.prototype.setY = function(y){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   411
   this.y = y;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   412
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   413
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   414
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   415
 * @class This class exists to demonstrate the assignment of a class prototype
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   416
 * as an anonymous block.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   417
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   418
function ShapeFactory(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   419
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   420
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   421
ShapeFactory.prototype = {
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   422
   /** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   423
    * Creates a new {@link Shape} instance.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   424
    * @return A new {@link Shape}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   425
    * @type Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   426
    */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   427
   createShape: function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   428
      return new Shape();
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   429
   }
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   430
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   431
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   432
/**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   433
 * An example of a singleton class
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   434
 * @param ... Arguments represent {@link coordinate}s in the shape.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   435
 * @constructor
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   436
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   437
MySingletonShapeFactory = function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   438
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   439
   /**
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   440
    * Get the next {@link Shape}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   441
    * @type Shape
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   442
    * @return A new {@link Shape}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   443
    */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   444
   this.getShape = function(){ 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   445
      return null; 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   446
   }
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   447
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   448
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   449
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   450
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   451
/** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   452
 * Create a new Foo instance.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   453
 * @class This is the Foo class. It exists to demonstrate 'nested' classes.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   454
 * @constructor 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   455
 * @see Foo.Bar
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   456
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   457
function Foo(){}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   458
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   459
/** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   460
 * Creates a new instance of Bar.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   461
 * @class This class exists to demonstrate 'nested' classes.
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   462
 * @constructor 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   463
 * @see Foo.Bar
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   464
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   465
function Bar(){}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   466
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   467
/** 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   468
 * Nested class
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   469
 * @constructor 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   470
 */
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   471
Foo.Bar = function(){
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   472
	/** The x. */ this.x = 2;
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   473
}
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   474
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   475
Foo.Bar.prototype = new Bar();
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   476
/** The y. */ 
46e21d060650 added jsdoc base files.
hamidouk
parents:
diff changeset
   477
Foo.Bar.prototype.y = '3';