1 Clazz.declarePackage ("javajs.util");
\r
2 Clazz.load (null, "javajs.util.AU", ["java.util.Arrays", "javajs.util.Lst"], function () {
\r
3 c$ = Clazz.declareType (javajs.util, "AU");
\r
4 c$.ensureLength = Clazz.defineMethod (c$, "ensureLength",
\r
5 function (array, minimumLength) {
\r
6 if (array != null && javajs.util.AU.getLength (array) >= minimumLength) return array;
\r
7 return javajs.util.AU.arrayCopyObject (array, minimumLength);
\r
9 c$.ensureLengthS = Clazz.defineMethod (c$, "ensureLengthS",
\r
10 function (array, minimumLength) {
\r
11 if (array != null && array.length >= minimumLength) return array;
\r
12 return javajs.util.AU.arrayCopyS (array, minimumLength);
\r
14 c$.ensureLengthA = Clazz.defineMethod (c$, "ensureLengthA",
\r
15 function (array, minimumLength) {
\r
16 if (array != null && array.length >= minimumLength) return array;
\r
17 return javajs.util.AU.arrayCopyF (array, minimumLength);
\r
19 c$.ensureLengthI = Clazz.defineMethod (c$, "ensureLengthI",
\r
20 function (array, minimumLength) {
\r
21 if (array != null && array.length >= minimumLength) return array;
\r
22 return javajs.util.AU.arrayCopyI (array, minimumLength);
\r
24 c$.ensureLengthShort = Clazz.defineMethod (c$, "ensureLengthShort",
\r
25 function (array, minimumLength) {
\r
26 if (array != null && array.length >= minimumLength) return array;
\r
27 return javajs.util.AU.arrayCopyShort (array, minimumLength);
\r
29 c$.ensureLengthByte = Clazz.defineMethod (c$, "ensureLengthByte",
\r
30 function (array, minimumLength) {
\r
31 if (array != null && array.length >= minimumLength) return array;
\r
32 return javajs.util.AU.arrayCopyByte (array, minimumLength);
\r
34 c$.doubleLength = Clazz.defineMethod (c$, "doubleLength",
\r
36 return javajs.util.AU.arrayCopyObject (array, (array == null ? 16 : 2 * javajs.util.AU.getLength (array)));
\r
38 c$.doubleLengthS = Clazz.defineMethod (c$, "doubleLengthS",
\r
40 return javajs.util.AU.arrayCopyS (array, (array == null ? 16 : 2 * array.length));
\r
42 c$.doubleLengthF = Clazz.defineMethod (c$, "doubleLengthF",
\r
44 return javajs.util.AU.arrayCopyF (array, (array == null ? 16 : 2 * array.length));
\r
46 c$.doubleLengthI = Clazz.defineMethod (c$, "doubleLengthI",
\r
48 return javajs.util.AU.arrayCopyI (array, (array == null ? 16 : 2 * array.length));
\r
50 c$.doubleLengthShort = Clazz.defineMethod (c$, "doubleLengthShort",
\r
52 return javajs.util.AU.arrayCopyShort (array, (array == null ? 16 : 2 * array.length));
\r
54 c$.doubleLengthByte = Clazz.defineMethod (c$, "doubleLengthByte",
\r
56 return javajs.util.AU.arrayCopyByte (array, (array == null ? 16 : 2 * array.length));
\r
58 c$.doubleLengthBool = Clazz.defineMethod (c$, "doubleLengthBool",
\r
60 return javajs.util.AU.arrayCopyBool (array, (array == null ? 16 : 2 * array.length));
\r
62 c$.deleteElements = Clazz.defineMethod (c$, "deleteElements",
\r
63 function (array, firstElement, nElements) {
\r
64 if (nElements == 0 || array == null) return array;
\r
65 var oldLength = javajs.util.AU.getLength (array);
\r
66 if (firstElement >= oldLength) return array;
\r
67 var n = oldLength - (firstElement + nElements);
\r
69 var t = javajs.util.AU.newInstanceO (array, firstElement + n);
\r
70 if (firstElement > 0) System.arraycopy (array, 0, t, 0, firstElement);
\r
71 if (n > 0) System.arraycopy (array, firstElement + nElements, t, firstElement, n);
\r
74 c$.arrayCopyObject = Clazz.defineMethod (c$, "arrayCopyObject",
\r
75 function (array, newLength) {
\r
76 if (array == null) {
\r
78 }var oldLength = javajs.util.AU.getLength (array);
\r
79 if (newLength == oldLength) return array;
\r
80 var t = javajs.util.AU.newInstanceO (array, newLength);
\r
81 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
\r
84 c$.newInstanceO = Clazz.defineMethod (c$, "newInstanceO",
\r
85 ($fz = function (array, n) {
\r
87 if (!array.getClass().getComponentType)
\r
88 return new Array(n);
\r
89 }}, $fz.isPrivate = true, $fz), "~O,~N");
\r
90 c$.getLength = Clazz.defineMethod (c$, "getLength",
\r
95 c$.arrayCopyS = Clazz.defineMethod (c$, "arrayCopyS",
\r
96 function (array, newLength) {
\r
97 if (newLength < 0) newLength = array.length;
\r
98 var t = new Array (newLength);
\r
99 if (array != null) {
\r
100 var oldLength = array.length;
\r
101 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
\r
104 c$.arrayCopyII = Clazz.defineMethod (c$, "arrayCopyII",
\r
105 function (array, newLength) {
\r
106 var t = javajs.util.AU.newInt2 (newLength);
\r
107 if (array != null) {
\r
108 var oldLength = array.length;
\r
109 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
\r
112 c$.arrayCopyPt = Clazz.defineMethod (c$, "arrayCopyPt",
\r
113 function (array, newLength) {
\r
114 if (newLength < 0) newLength = array.length;
\r
115 var t = new Array (newLength);
\r
116 if (array != null) {
\r
117 var oldLength = array.length;
\r
118 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
\r
121 c$.arrayCopyF = Clazz.defineMethod (c$, "arrayCopyF",
\r
122 function (array, newLength) {
\r
123 if (newLength < 0) newLength = array.length;
\r
124 var t = Clazz.newFloatArray (newLength, 0);
\r
125 if (array != null) {
\r
126 var oldLength = array.length;
\r
127 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
\r
130 c$.arrayCopyI = Clazz.defineMethod (c$, "arrayCopyI",
\r
131 function (array, newLength) {
\r
132 if (newLength < 0) newLength = array.length;
\r
133 var t = Clazz.newIntArray (newLength, 0);
\r
134 if (array != null) {
\r
135 var oldLength = array.length;
\r
136 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
\r
139 c$.arrayCopyRangeI = Clazz.defineMethod (c$, "arrayCopyRangeI",
\r
140 function (array, i0, n) {
\r
141 if (array == null) return null;
\r
142 var oldLength = array.length;
\r
143 if (n == -1) n = oldLength;
\r
144 if (n == -2) n = Clazz.doubleToInt (oldLength / 2);
\r
146 var t = Clazz.newIntArray (n, 0);
\r
147 System.arraycopy (array, i0, t, 0, n);
\r
150 c$.arrayCopyRangeRevI = Clazz.defineMethod (c$, "arrayCopyRangeRevI",
\r
151 function (array, i0, n) {
\r
152 if (array == null) return null;
\r
153 var t = javajs.util.AU.arrayCopyRangeI (array, i0, n);
\r
154 if (n < 0) n = array.length;
\r
155 for (var i = Clazz.doubleToInt (n / 2); --i >= 0; ) javajs.util.AU.swapInt (t, i, n - 1 - i);
\r
159 c$.arrayCopyShort = Clazz.defineMethod (c$, "arrayCopyShort",
\r
160 function (array, newLength) {
\r
161 if (newLength < 0) newLength = array.length;
\r
162 var t = Clazz.newShortArray (newLength, 0);
\r
163 if (array != null) {
\r
164 var oldLength = array.length;
\r
165 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
\r
168 c$.arrayCopyByte = Clazz.defineMethod (c$, "arrayCopyByte",
\r
169 function (array, newLength) {
\r
170 if (newLength < 0) newLength = array.length;
\r
171 var t = Clazz.newByteArray (newLength, 0);
\r
172 if (array != null) {
\r
173 var oldLength = array.length;
\r
174 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
\r
177 c$.arrayCopyBool = Clazz.defineMethod (c$, "arrayCopyBool",
\r
178 function (array, newLength) {
\r
179 if (newLength < 0) newLength = array.length;
\r
180 var t = Clazz.newBooleanArray (newLength, false);
\r
181 if (array != null) {
\r
182 var oldLength = array.length;
\r
183 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
\r
186 c$.swapInt = Clazz.defineMethod (c$, "swapInt",
\r
187 function (array, indexA, indexB) {
\r
188 var t = array[indexA];
\r
189 array[indexA] = array[indexB];
\r
192 c$.dumpArray = Clazz.defineMethod (c$, "dumpArray",
\r
193 function (msg, A, x1, x2, y1, y2) {
\r
194 var s = "dumpArray: " + msg + "\n";
\r
195 for (var x = x1; x <= x2; x++) s += "\t*" + x + "*";
\r
197 for (var y = y2; y >= y1; y--) {
\r
198 s += "\n*" + y + "*";
\r
199 for (var x = x1; x <= x2; x++) s += "\t" + (x < A.length && y < A[x].length ? A[x][y] : NaN);
\r
203 }, "~S,~A,~N,~N,~N,~N");
\r
204 c$.dumpIntArray = Clazz.defineMethod (c$, "dumpIntArray",
\r
207 for (var i = 0; i < n; i++) str += " " + A[i];
\r
211 c$.sortedItem = Clazz.defineMethod (c$, "sortedItem",
\r
213 if (v.size () == 0) return null;
\r
214 if (v.size () == 1) return v.get (0);
\r
215 var keys = v.toArray ( new Array (v.size ()));
\r
216 java.util.Arrays.sort (keys);
\r
217 return keys[n % keys.length];
\r
218 }, "javajs.util.Lst,~N");
\r
219 c$.createArrayOfArrayList = Clazz.defineMethod (c$, "createArrayOfArrayList",
\r
221 return new Array (size);
\r
223 c$.createArrayOfHashtable = Clazz.defineMethod (c$, "createArrayOfHashtable",
\r
225 return new Array (size);
\r
227 c$.swap = Clazz.defineMethod (c$, "swap",
\r
228 function (o, i, j) {
\r
233 c$.newFloat2 = Clazz.defineMethod (c$, "newFloat2",
\r
236 return Clazz.newArray(n, null);
\r
238 c$.newInt2 = Clazz.defineMethod (c$, "newInt2",
\r
241 return Clazz.newArray(n, null);
\r
243 c$.newInt3 = Clazz.defineMethod (c$, "newInt3",
\r
244 function (nx, ny) {
\r
246 return Clazz.newArray(nx, null);
\r
248 c$.newFloat3 = Clazz.defineMethod (c$, "newFloat3",
\r
249 function (nx, ny) {
\r
251 return Clazz.newArray(nx, null);
\r
253 c$.newInt4 = Clazz.defineMethod (c$, "newInt4",
\r
256 return Clazz.newArray(n, null);
\r
258 c$.newShort2 = Clazz.defineMethod (c$, "newShort2",
\r
261 return Clazz.newArray(n, null);
\r
263 c$.newByte2 = Clazz.defineMethod (c$, "newByte2",
\r
266 return Clazz.newArray(n, null);
\r
268 c$.newDouble2 = Clazz.defineMethod (c$, "newDouble2",
\r
271 return Clazz.newArray(n, null);
\r
273 c$.removeMapKeys = Clazz.defineMethod (c$, "removeMapKeys",
\r
274 function (map, root) {
\r
275 var list = new javajs.util.Lst ();
\r
276 for (var key, $key = map.keySet ().iterator (); $key.hasNext () && ((key = $key.next ()) || true);) if (key.startsWith (root)) list.addLast (key);
\r
278 for (var i = list.size (); --i >= 0; ) map.remove (list.get (i));
\r
280 return list.size ();
\r
281 }, "java.util.Map,~S");
\r
282 c$.isAS = Clazz.defineMethod (c$, "isAS",
\r
285 return Clazz.isAS(x);
\r
287 c$.isASS = Clazz.defineMethod (c$, "isASS",
\r
290 return Clazz.isASS(x);
\r
292 c$.isAP = Clazz.defineMethod (c$, "isAP",
\r
295 return Clazz.isAP(x);
\r
297 c$.isAF = Clazz.defineMethod (c$, "isAF",
\r
300 return Clazz.isAF(x);
\r
302 c$.isAFloat = Clazz.defineMethod (c$, "isAFloat",
\r
305 return Clazz.isAFloat(x);
\r
307 c$.isAD = Clazz.defineMethod (c$, "isAD",
\r
310 return Clazz.isAF(x);
\r
312 c$.isADD = Clazz.defineMethod (c$, "isADD",
\r
315 return Clazz.isAFF(x);
\r
317 c$.isAB = Clazz.defineMethod (c$, "isAB",
\r
320 return Clazz.isAI(x);
\r
322 c$.isAI = Clazz.defineMethod (c$, "isAI",
\r
325 return Clazz.isAI(x);
\r
327 c$.isAII = Clazz.defineMethod (c$, "isAII",
\r
330 return Clazz.isAII(x);
\r
332 c$.isAFF = Clazz.defineMethod (c$, "isAFF",
\r
335 return Clazz.isAFF(x);
\r
337 c$.isAFFF = Clazz.defineMethod (c$, "isAFFF",
\r
340 return Clazz.isAFFF(x);
\r
342 c$.ensureSignedBytes = Clazz.defineMethod (c$, "ensureSignedBytes",
\r
345 for (var i = b.length; --i >= 0;) {
\r
346 var j = b[i] & 0xFF;
\r
347 if (j >= 0x80) j -= 0x100;
\r