JAL-1807 test
[jalviewjs.git] / bin / javajs / util / AU.js
1 Clazz.declarePackage ("javajs.util");
2 Clazz.load (null, "javajs.util.AU", ["java.util.Arrays", "javajs.util.Lst"], function () {
3 c$ = Clazz.declareType (javajs.util, "AU");
4 c$.ensureLength = Clazz.defineMethod (c$, "ensureLength", 
5 function (array, minimumLength) {
6 if (array != null && javajs.util.AU.getLength (array) >= minimumLength) return array;
7 return javajs.util.AU.arrayCopyObject (array, minimumLength);
8 }, "~O,~N");
9 c$.ensureLengthS = Clazz.defineMethod (c$, "ensureLengthS", 
10 function (array, minimumLength) {
11 if (array != null && array.length >= minimumLength) return array;
12 return javajs.util.AU.arrayCopyS (array, minimumLength);
13 }, "~A,~N");
14 c$.ensureLengthA = Clazz.defineMethod (c$, "ensureLengthA", 
15 function (array, minimumLength) {
16 if (array != null && array.length >= minimumLength) return array;
17 return javajs.util.AU.arrayCopyF (array, minimumLength);
18 }, "~A,~N");
19 c$.ensureLengthI = Clazz.defineMethod (c$, "ensureLengthI", 
20 function (array, minimumLength) {
21 if (array != null && array.length >= minimumLength) return array;
22 return javajs.util.AU.arrayCopyI (array, minimumLength);
23 }, "~A,~N");
24 c$.ensureLengthShort = Clazz.defineMethod (c$, "ensureLengthShort", 
25 function (array, minimumLength) {
26 if (array != null && array.length >= minimumLength) return array;
27 return javajs.util.AU.arrayCopyShort (array, minimumLength);
28 }, "~A,~N");
29 c$.ensureLengthByte = Clazz.defineMethod (c$, "ensureLengthByte", 
30 function (array, minimumLength) {
31 if (array != null && array.length >= minimumLength) return array;
32 return javajs.util.AU.arrayCopyByte (array, minimumLength);
33 }, "~A,~N");
34 c$.doubleLength = Clazz.defineMethod (c$, "doubleLength", 
35 function (array) {
36 return javajs.util.AU.arrayCopyObject (array, (array == null ? 16 : 2 * javajs.util.AU.getLength (array)));
37 }, "~O");
38 c$.doubleLengthS = Clazz.defineMethod (c$, "doubleLengthS", 
39 function (array) {
40 return javajs.util.AU.arrayCopyS (array, (array == null ? 16 : 2 * array.length));
41 }, "~A");
42 c$.doubleLengthF = Clazz.defineMethod (c$, "doubleLengthF", 
43 function (array) {
44 return javajs.util.AU.arrayCopyF (array, (array == null ? 16 : 2 * array.length));
45 }, "~A");
46 c$.doubleLengthI = Clazz.defineMethod (c$, "doubleLengthI", 
47 function (array) {
48 return javajs.util.AU.arrayCopyI (array, (array == null ? 16 : 2 * array.length));
49 }, "~A");
50 c$.doubleLengthShort = Clazz.defineMethod (c$, "doubleLengthShort", 
51 function (array) {
52 return javajs.util.AU.arrayCopyShort (array, (array == null ? 16 : 2 * array.length));
53 }, "~A");
54 c$.doubleLengthByte = Clazz.defineMethod (c$, "doubleLengthByte", 
55 function (array) {
56 return javajs.util.AU.arrayCopyByte (array, (array == null ? 16 : 2 * array.length));
57 }, "~A");
58 c$.doubleLengthBool = Clazz.defineMethod (c$, "doubleLengthBool", 
59 function (array) {
60 return javajs.util.AU.arrayCopyBool (array, (array == null ? 16 : 2 * array.length));
61 }, "~A");
62 c$.deleteElements = Clazz.defineMethod (c$, "deleteElements", 
63 function (array, firstElement, nElements) {
64 if (nElements == 0 || array == null) return array;
65 var oldLength = javajs.util.AU.getLength (array);
66 if (firstElement >= oldLength) return array;
67 var n = oldLength - (firstElement + nElements);
68 if (n < 0) n = 0;
69 var t = javajs.util.AU.newInstanceO (array, firstElement + n);
70 if (firstElement > 0) System.arraycopy (array, 0, t, 0, firstElement);
71 if (n > 0) System.arraycopy (array, firstElement + nElements, t, firstElement, n);
72 return t;
73 }, "~O,~N,~N");
74 c$.arrayCopyObject = Clazz.defineMethod (c$, "arrayCopyObject", 
75 function (array, newLength) {
76 if (array == null) {
77 return null;
78 }var oldLength = javajs.util.AU.getLength (array);
79 if (newLength == oldLength) return array;
80 var t = javajs.util.AU.newInstanceO (array, newLength);
81 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
82 return t;
83 }, "~O,~N");
84 c$.newInstanceO = Clazz.defineMethod (c$, "newInstanceO", 
85 ($fz = function (array, n) {
86 {
87 if (!array.getClass().getComponentType)
88 return new Array(n);
89 }}, $fz.isPrivate = true, $fz), "~O,~N");
90 c$.getLength = Clazz.defineMethod (c$, "getLength", 
91 function (array) {
92 {
93 return array.length
94 }}, "~O");
95 c$.arrayCopyS = Clazz.defineMethod (c$, "arrayCopyS", 
96 function (array, newLength) {
97 if (newLength < 0) newLength = array.length;
98 var t =  new Array (newLength);
99 if (array != null) {
100 var oldLength = array.length;
101 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
102 }return t;
103 }, "~A,~N");
104 c$.arrayCopyII = Clazz.defineMethod (c$, "arrayCopyII", 
105 function (array, newLength) {
106 var t = javajs.util.AU.newInt2 (newLength);
107 if (array != null) {
108 var oldLength = array.length;
109 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
110 }return t;
111 }, "~A,~N");
112 c$.arrayCopyPt = Clazz.defineMethod (c$, "arrayCopyPt", 
113 function (array, newLength) {
114 if (newLength < 0) newLength = array.length;
115 var t =  new Array (newLength);
116 if (array != null) {
117 var oldLength = array.length;
118 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
119 }return t;
120 }, "~A,~N");
121 c$.arrayCopyF = Clazz.defineMethod (c$, "arrayCopyF", 
122 function (array, newLength) {
123 if (newLength < 0) newLength = array.length;
124 var t =  Clazz.newFloatArray (newLength, 0);
125 if (array != null) {
126 var oldLength = array.length;
127 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
128 }return t;
129 }, "~A,~N");
130 c$.arrayCopyI = Clazz.defineMethod (c$, "arrayCopyI", 
131 function (array, newLength) {
132 if (newLength < 0) newLength = array.length;
133 var t =  Clazz.newIntArray (newLength, 0);
134 if (array != null) {
135 var oldLength = array.length;
136 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
137 }return t;
138 }, "~A,~N");
139 c$.arrayCopyRangeI = Clazz.defineMethod (c$, "arrayCopyRangeI", 
140 function (array, i0, n) {
141 if (array == null) return null;
142 var oldLength = array.length;
143 if (n == -1) n = oldLength;
144 if (n == -2) n = Clazz.doubleToInt (oldLength / 2);
145 n = n - i0;
146 var t =  Clazz.newIntArray (n, 0);
147 System.arraycopy (array, i0, t, 0, n);
148 return t;
149 }, "~A,~N,~N");
150 c$.arrayCopyRangeRevI = Clazz.defineMethod (c$, "arrayCopyRangeRevI", 
151 function (array, i0, n) {
152 if (array == null) return null;
153 var t = javajs.util.AU.arrayCopyRangeI (array, i0, n);
154 if (n < 0) n = array.length;
155 for (var i = Clazz.doubleToInt (n / 2); --i >= 0; ) javajs.util.AU.swapInt (t, i, n - 1 - i);
156
157 return t;
158 }, "~A,~N,~N");
159 c$.arrayCopyShort = Clazz.defineMethod (c$, "arrayCopyShort", 
160 function (array, newLength) {
161 if (newLength < 0) newLength = array.length;
162 var t =  Clazz.newShortArray (newLength, 0);
163 if (array != null) {
164 var oldLength = array.length;
165 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
166 }return t;
167 }, "~A,~N");
168 c$.arrayCopyByte = Clazz.defineMethod (c$, "arrayCopyByte", 
169 function (array, newLength) {
170 if (newLength < 0) newLength = array.length;
171 var t =  Clazz.newByteArray (newLength, 0);
172 if (array != null) {
173 var oldLength = array.length;
174 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
175 }return t;
176 }, "~A,~N");
177 c$.arrayCopyBool = Clazz.defineMethod (c$, "arrayCopyBool", 
178 function (array, newLength) {
179 if (newLength < 0) newLength = array.length;
180 var t =  Clazz.newBooleanArray (newLength, false);
181 if (array != null) {
182 var oldLength = array.length;
183 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
184 }return t;
185 }, "~A,~N");
186 c$.swapInt = Clazz.defineMethod (c$, "swapInt", 
187 function (array, indexA, indexB) {
188 var t = array[indexA];
189 array[indexA] = array[indexB];
190 array[indexB] = t;
191 }, "~A,~N,~N");
192 c$.dumpArray = Clazz.defineMethod (c$, "dumpArray", 
193 function (msg, A, x1, x2, y1, y2) {
194 var s = "dumpArray: " + msg + "\n";
195 for (var x = x1; x <= x2; x++) s += "\t*" + x + "*";
196
197 for (var y = y2; y >= y1; y--) {
198 s += "\n*" + y + "*";
199 for (var x = x1; x <= x2; x++) s += "\t" + (x < A.length && y < A[x].length ? A[x][y] : NaN);
200
201 }
202 return s;
203 }, "~S,~A,~N,~N,~N,~N");
204 c$.dumpIntArray = Clazz.defineMethod (c$, "dumpIntArray", 
205 function (A, n) {
206 var str = "";
207 for (var i = 0; i < n; i++) str += " " + A[i];
208
209 return str;
210 }, "~A,~N");
211 c$.sortedItem = Clazz.defineMethod (c$, "sortedItem", 
212 function (v, n) {
213 if (v.size () == 0) return null;
214 if (v.size () == 1) return v.get (0);
215 var keys = v.toArray ( new Array (v.size ()));
216 java.util.Arrays.sort (keys);
217 return keys[n % keys.length];
218 }, "javajs.util.Lst,~N");
219 c$.createArrayOfArrayList = Clazz.defineMethod (c$, "createArrayOfArrayList", 
220 function (size) {
221 return  new Array (size);
222 }, "~N");
223 c$.createArrayOfHashtable = Clazz.defineMethod (c$, "createArrayOfHashtable", 
224 function (size) {
225 return  new Array (size);
226 }, "~N");
227 c$.swap = Clazz.defineMethod (c$, "swap", 
228 function (o, i, j) {
229 var oi = o[i];
230 o[i] = o[j];
231 o[j] = oi;
232 }, "~A,~N,~N");
233 c$.newFloat2 = Clazz.defineMethod (c$, "newFloat2", 
234 function (n) {
235 {
236 return Clazz.newArray(n, null);
237 }}, "~N");
238 c$.newInt2 = Clazz.defineMethod (c$, "newInt2", 
239 function (n) {
240 {
241 return Clazz.newArray(n, null);
242 }}, "~N");
243 c$.newInt3 = Clazz.defineMethod (c$, "newInt3", 
244 function (nx, ny) {
245 {
246 return Clazz.newArray(nx, null);
247 }}, "~N,~N");
248 c$.newFloat3 = Clazz.defineMethod (c$, "newFloat3", 
249 function (nx, ny) {
250 {
251 return Clazz.newArray(nx, null);
252 }}, "~N,~N");
253 c$.newInt4 = Clazz.defineMethod (c$, "newInt4", 
254 function (n) {
255 {
256 return Clazz.newArray(n, null);
257 }}, "~N");
258 c$.newShort2 = Clazz.defineMethod (c$, "newShort2", 
259 function (n) {
260 {
261 return Clazz.newArray(n, null);
262 }}, "~N");
263 c$.newByte2 = Clazz.defineMethod (c$, "newByte2", 
264 function (n) {
265 {
266 return Clazz.newArray(n, null);
267 }}, "~N");
268 c$.newDouble2 = Clazz.defineMethod (c$, "newDouble2", 
269 function (n) {
270 {
271 return Clazz.newArray(n, null);
272 }}, "~N");
273 c$.removeMapKeys = Clazz.defineMethod (c$, "removeMapKeys", 
274 function (map, root) {
275 var list =  new javajs.util.Lst ();
276 for (var key, $key = map.keySet ().iterator (); $key.hasNext () && ((key = $key.next ()) || true);) if (key.startsWith (root)) list.addLast (key);
277
278 for (var i = list.size (); --i >= 0; ) map.remove (list.get (i));
279
280 return list.size ();
281 }, "java.util.Map,~S");
282 c$.isAS = Clazz.defineMethod (c$, "isAS", 
283 function (x) {
284 {
285 return Clazz.isAS(x);
286 }}, "~O");
287 c$.isASS = Clazz.defineMethod (c$, "isASS", 
288 function (x) {
289 {
290 return Clazz.isASS(x);
291 }}, "~O");
292 c$.isAP = Clazz.defineMethod (c$, "isAP", 
293 function (x) {
294 {
295 return Clazz.isAP(x);
296 }}, "~O");
297 c$.isAF = Clazz.defineMethod (c$, "isAF", 
298 function (x) {
299 {
300 return Clazz.isAF(x);
301 }}, "~O");
302 c$.isAFloat = Clazz.defineMethod (c$, "isAFloat", 
303 function (x) {
304 {
305 return Clazz.isAFloat(x);
306 }}, "~O");
307 c$.isAD = Clazz.defineMethod (c$, "isAD", 
308 function (x) {
309 {
310 return Clazz.isAF(x);
311 }}, "~O");
312 c$.isADD = Clazz.defineMethod (c$, "isADD", 
313 function (x) {
314 {
315 return Clazz.isAFF(x);
316 }}, "~O");
317 c$.isAB = Clazz.defineMethod (c$, "isAB", 
318 function (x) {
319 {
320 return Clazz.isAI(x);
321 }}, "~O");
322 c$.isAI = Clazz.defineMethod (c$, "isAI", 
323 function (x) {
324 {
325 return Clazz.isAI(x);
326 }}, "~O");
327 c$.isAII = Clazz.defineMethod (c$, "isAII", 
328 function (x) {
329 {
330 return Clazz.isAII(x);
331 }}, "~O");
332 c$.isAFF = Clazz.defineMethod (c$, "isAFF", 
333 function (x) {
334 {
335 return Clazz.isAFF(x);
336 }}, "~O");
337 c$.isAFFF = Clazz.defineMethod (c$, "isAFFF", 
338 function (x) {
339 {
340 return Clazz.isAFFF(x);
341 }}, "~O");
342 c$.ensureSignedBytes = Clazz.defineMethod (c$, "ensureSignedBytes", 
343 function (b) {
344 {
345 for (var i = b.length; --i >= 0;) {
346 var j = b[i] & 0xFF;
347 if (j >= 0x80) j -= 0x100;
348 b[i] = j;
349 }
350 }}, "~A");
351 });