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