dd7ac6692af8be7b9c15e98e1d3716c85368fe0e
[jalviewjs.git] / site / j2s / javax / swing / event / EventListenerList.js
1 Clazz.declarePackage ("javax.swing.event");\r
2 Clazz.load (null, "javax.swing.event.EventListenerList", ["java.lang.reflect.Array"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.listenerList = null;\r
5 Clazz.instantialize (this, arguments);\r
6 }, javax.swing.event, "EventListenerList");\r
7 Clazz.prepareFields (c$, function () {\r
8 this.listenerList = javax.swing.event.EventListenerList.NULL_ARRAY;\r
9 });\r
10 Clazz.defineMethod (c$, "getListenerList", \r
11 function () {\r
12 return this.listenerList;\r
13 });\r
14 Clazz.defineMethod (c$, "getListeners", \r
15 function (t) {\r
16 var lList = this.listenerList;\r
17 var n = this.getListenerCount (lList, t);\r
18 var result = java.lang.reflect.Array.newInstance (t, n);\r
19 var j = 0;\r
20 for (var i = lList.length - 2; i >= 0; i -= 2) {\r
21 if (lList[i] === t) {\r
22 result[j++] = lList[i + 1];\r
23 }}\r
24 return result;\r
25 }, "Class");\r
26 Clazz.defineMethod (c$, "getListenerCount", \r
27 function () {\r
28 return Clazz.doubleToInt (this.listenerList.length / 2);\r
29 });\r
30 Clazz.defineMethod (c$, "getListenerCount", \r
31 function (t) {\r
32 var lList = this.listenerList;\r
33 return this.getListenerCount (lList, t);\r
34 }, "Class");\r
35 Clazz.defineMethod (c$, "getListenerCount", \r
36  function (list, t) {\r
37 var count = 0;\r
38 for (var i = 0; i < list.length; i += 2) {\r
39 if (t === list[i]) count++;\r
40 }\r
41 return count;\r
42 }, "~A,Class");\r
43 Clazz.defineMethod (c$, "add", \r
44 function (t, l) {\r
45 if (l == null) {\r
46 return;\r
47 }if (this.listenerList === javax.swing.event.EventListenerList.NULL_ARRAY) {\r
48 this.listenerList =  Clazz.newArray (-1, [t, l]);\r
49 } else {\r
50 var i = this.listenerList.length;\r
51 var tmp =  new Array (i + 2);\r
52 System.arraycopy (this.listenerList, 0, tmp, 0, i);\r
53 tmp[i] = t;\r
54 tmp[i + 1] = l;\r
55 this.listenerList = tmp;\r
56 }}, "Class,~O");\r
57 Clazz.defineMethod (c$, "remove", \r
58 function (t, l) {\r
59 if (l == null) {\r
60 return;\r
61 }var index = -1;\r
62 for (var i = this.listenerList.length - 2; i >= 0; i -= 2) {\r
63 if ((this.listenerList[i] === t) && (this.listenerList[i + 1].equals (l) == true)) {\r
64 index = i;\r
65 break;\r
66 }}\r
67 if (index != -1) {\r
68 var tmp =  new Array (this.listenerList.length - 2);\r
69 System.arraycopy (this.listenerList, 0, tmp, 0, index);\r
70 if (index < tmp.length) System.arraycopy (this.listenerList, index + 2, tmp, index, tmp.length - index);\r
71 this.listenerList = (tmp.length == 0) ? javax.swing.event.EventListenerList.NULL_ARRAY : tmp;\r
72 }}, "Class,~O");\r
73 Clazz.overrideMethod (c$, "toString", \r
74 function () {\r
75 var lList = this.listenerList;\r
76 var s = "EventListenerList: ";\r
77 s += Clazz.doubleToInt (lList.length / 2) + " listeners: ";\r
78 for (var i = 0; i <= lList.length - 2; i += 2) {\r
79 s += " type " + (lList[i]).getName ();\r
80 s += " listener " + lList[i + 1];\r
81 }\r
82 return s;\r
83 });\r
84 c$.NULL_ARRAY = c$.prototype.NULL_ARRAY =  new Array (0);\r
85 });\r