JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / java / lang / Double.js
1 Clazz.load (["java.lang.Comparable", "$.Number"], "java.lang.Double", null, function () {\r
2 java.lang.Double = Double = function () {\r
3 Clazz.instantialize (this, arguments);\r
4 };\r
5 Clazz.decorateAsType (Double, "Double", Number, Comparable, null, true);\r
6 Double.prototype.valueOf = function () { return 0; };\r
7 Double.toString = Double.prototype.toString = function () {\r
8         if (arguments.length != 0) {\r
9                 return "" + arguments[0];\r
10         } else if (this === Double) {\r
11                 return "class java.lang.Double"; // Double.class.toString\r
12         }\r
13         return "" + this.valueOf ();\r
14 };\r
15 Clazz.makeConstructor (Double, \r
16 function () {\r
17 this.valueOf = function () {\r
18         return 0.0;\r
19 };\r
20 });\r
21 Clazz.makeConstructor (Double, \r
22 function (value) {\r
23 this.valueOf = function () {\r
24         return value;\r
25 };\r
26 }, "Number");\r
27 Clazz.makeConstructor (Double, \r
28 function (s) {\r
29 var value = Double.parseDouble (s);\r
30 this.valueOf = function () {\r
31         return value;\r
32 };\r
33 }, "String");\r
34 \r
35 Double.serialVersionUID = Double.prototype.serialVersionUID = -9172774392245257468;\r
36 Double.MIN_VALUE = Double.prototype.MIN_VALUE = 4.9e-324;\r
37 Double.MAX_VALUE = Double.prototype.MAX_VALUE = 1.7976931348623157e+308;\r
38 Double.NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY;\r
39 Double.POSITIVE_INFINITY = Number.POSITIVE_INFINITY;\r
40 Double.NaN = Number.NaN;\r
41 Double.TYPE = Double.prototype.TYPE = Double;\r
42 \r
43 Clazz.defineMethod (Double, "isNaN", \r
44 function (num) {\r
45 return isNaN (num);\r
46 }, "Number");\r
47 Double.isNaN = Double.prototype.isNaN;\r
48 Clazz.defineMethod (Double, "isInfinite", \r
49 function (num) {\r
50 return !isFinite (num);\r
51 }, "Number");\r
52 Double.isInfinite = Double.prototype.isInfinite;\r
53 \r
54 Clazz.defineMethod (Double, "parseDouble", \r
55 function (s) {\r
56 if (s == null) {\r
57 throw  new NumberFormatException ("null");\r
58 }
59 var doubleVal = parseFloat (s);
60 if(isNaN(doubleVal)){
61 throw  new NumberFormatException ("Not a Number : " + s);
62 }
63 return doubleVal;\r
64 }, "String");\r
65 Double.parseDouble = Double.prototype.parseDouble;
66 \r
67 Clazz.defineMethod (Double, "$valueOf", \r
68 function (s) {
69 return new Double(this.parseDouble(s));\r
70 }, "String");
71
72 Clazz.defineMethod (Double, "$valueOf", \r
73 function (v) {\r
74 return new Double(v);\r
75 }, "Number");
76 \r
77 Double.$valueOf = Double.prototype.$valueOf;
78 \r
79 Clazz.overrideMethod(Double, "equals", \r
80 function (s) {\r
81 if(s == null || ! Clazz.instanceOf(s, Double) ){\r
82         return false;\r
83 }\r
84 return s.valueOf()  == this.valueOf();\r
85 }, "Object");\r
86 });\r
87 \r