a30d14ca721fd2025c71c0237b28fdc0f4803ca7
[jalviewjs.git] / site / swingjs / j2s / java / util / AbstractList.js
1 // BH 8/25/2014 1:10:59 AM  - removed indirect access/inner class business.\r
2 \r
3 Clazz.load(["java.util.AbstractCollection","$.Iterator","$.List","$.ListIterator","$.RandomAccess","$.NoSuchElementException"],"java.util.AbstractList",["java.lang.IllegalArgumentException","$.IllegalStateException","$.IndexOutOfBoundsException","$.UnsupportedOperationException","java.util.ConcurrentModificationException"],function(){\r
4 c$=Clazz.decorateAsClass(function(){\r
5 this.modCount=0;\r
6 \r
7 \r
8 \r
9 //if(!Clazz.isClassDefined("java.util.AbstractList.SimpleListIterator")){\r
10 //java.util.AbstractList.$AbstractList$SimpleListIterator$();\r
11 //}\r
12 //if(!Clazz.isClassDefined("java.util.AbstractList.FullListIterator")){\r
13 //java.util.AbstractList.$AbstractList$FullListIterator$();\r
14 //}\r
15 \r
16 \r
17 \r
18 Clazz.instantialize(this,arguments);\r
19 },java.util,"AbstractList",java.util.AbstractCollection,java.util.List);\r
20 Clazz.defineMethod(c$,"add",\r
21 function(location,object){\r
22 throw new UnsupportedOperationException();\r
23 },"~N,~O");\r
24 Clazz.defineMethod(c$,"add",\r
25 function(object){\r
26 this.add(this.size(),object);\r
27 return true;\r
28 },"~O");\r
29 Clazz.defineMethod(c$,"addAll",\r
30 function(location,collection){\r
31 var it=collection.iterator();\r
32 while(it.hasNext()){\r
33 this.add(location++,it.next());\r
34 }\r
35 return!collection.isEmpty();\r
36 },"~N,java.util.Collection");\r
37 Clazz.overrideMethod(c$,"clear",\r
38 function(){\r
39 this.removeRange(0,this.size());\r
40 });\r
41 Clazz.overrideMethod(c$,"equals",\r
42 function(object){\r
43 if(this===object){\r
44 return true;\r
45 }if(Clazz.instanceOf(object,java.util.List)){\r
46 var list=object;\r
47 if(list.size()!=this.size()){\r
48 return false;\r
49 }var it1=this.iterator();\r
50 var it2=list.iterator();\r
51 while(it1.hasNext()){\r
52 var e1=it1.next();\r
53 var e2=it2.next();\r
54 if(!(e1==null?e2==null:e1.equals(e2))){\r
55 return false;\r
56 }}\r
57 return true;\r
58 }return false;\r
59 },"~O");\r
60 Clazz.overrideMethod(c$,"hashCode",\r
61 function(){\r
62 var result=1;\r
63 var it=this.iterator();\r
64 while(it.hasNext()){\r
65 var object=it.next();\r
66 result=(31*result)+(object==null?0:object.hashCode());\r
67 }\r
68 return result;\r
69 });\r
70 Clazz.overrideMethod(c$,"indexOf",\r
71 function(object){\r
72 var it=this.listIterator();\r
73 if(object!=null){\r
74 while(it.hasNext()){\r
75 if(object.equals(it.next())){\r
76 return it.previousIndex();\r
77 }}\r
78 }else{\r
79 while(it.hasNext()){\r
80 if(it.next()==null){\r
81 return it.previousIndex();\r
82 }}\r
83 }return-1;\r
84 },"~O");\r
85 Clazz.overrideMethod(c$,"iterator",\r
86 function(){\r
87 return new java.util.AbstractListSimpleListIterator(this); // Clazz.innerTypeInstance(java.util.AbstractList.SimpleListIterator,this,null);\r
88 });\r
89 Clazz.overrideMethod(c$,"lastIndexOf",\r
90 function(object){\r
91 var it=this.listIterator(this.size());\r
92 if(object!=null){\r
93 while(it.hasPrevious()){\r
94 if(object.equals(it.previous())){\r
95 return it.nextIndex();\r
96 }}\r
97 }else{\r
98 while(it.hasPrevious()){\r
99 if(it.previous()==null){\r
100 return it.nextIndex();\r
101 }}\r
102 }return-1;\r
103 },"~O");\r
104 //Clazz.defineMethod(c$,"listIterator",\r
105 //function(){\r
106 //return this.listIterator(0);\r
107 //});\r
108 Clazz.defineMethod(c$,"listIterator",\r
109 function(location){\r
110 location || (location = 0);\r
111 return new java.util.AbstractListFullListIterator(this, location);//Clazz.innerTypeInstance(java.util.AbstractList.FullListIterator,this,null,location);\r
112 },"~N");\r
113 Clazz.defineMethod(c$,"remove",\r
114 function(location){\r
115 throw new UnsupportedOperationException();\r
116 },"~N");\r
117 Clazz.defineMethod(c$,"removeRange",\r
118 function(start,end){\r
119 var it=this.listIterator(start);\r
120 for(var i=start;i<end;i++){\r
121 it.next();\r
122 it.remove();\r
123 }\r
124 },"~N,~N");\r
125 Clazz.overrideMethod(c$,"set",\r
126 function(location,object){\r
127 throw new UnsupportedOperationException();\r
128 },"~N,~O");\r
129 Clazz.overrideMethod(c$,"subList",\r
130 function(start,end){\r
131 if(0<=start&&end<=this.size()){\r
132 if(start<=end){\r
133 if(Clazz.instanceOf(this,java.util.RandomAccess)){\r
134 return new java.util.AbstractList.SubAbstractListRandomAccess(this,start,end);\r
135 }return new java.util.AbstractList.SubAbstractList(this,start,end);\r
136 }throw new IllegalArgumentException();\r
137 }throw new IndexOutOfBoundsException();\r
138 },"~N,~N");\r
139 \r
140 \r
141 \r
142 //c$.$AbstractList$SimpleListIterator$=function(){\r
143 \r
144 Clazz.pu$h(self.c$);\r
145 \r
146 c$=Clazz.decorateAsClass(function(){\r
147 //Clazz.prepareCallback(this,arguments);\r
148 this.pos=-1;\r
149 this.expectedModCount=0;\r
150 this.lastPosition=-1;\r
151 Clazz.instantialize(this,arguments);\r
152 },java.util,"AbstractListSimpleListIterator",null,java.util.Iterator);\r
153 \r
154 \r
155 Clazz.makeConstructor(c$,\r
156 function(a){\r
157 this._list = a;\r
158 this.expectedModCount=a.modCount;\r
159 }, "java.util.AbstractList");\r
160 \r
161 Clazz.overrideMethod(c$,"hasNext",\r
162 function(){\r
163 return this.pos+1<this._list.size();\r
164 });\r
165 Clazz.overrideMethod(c$,"next",\r
166 function(){\r
167 if(this.expectedModCount==this._list.modCount){\r
168 try{\r
169 var a=this._list.get(this.pos+1);\r
170 this.lastPosition=++this.pos;\r
171 return a;\r
172 }catch(e){\r
173 if(Clazz.instanceOf(e,IndexOutOfBoundsException)){\r
174 throw new java.util.NoSuchElementException();\r
175 }else{\r
176 throw e;\r
177 }\r
178 }\r
179 }throw new java.util.ConcurrentModificationException();\r
180 });\r
181 Clazz.overrideMethod(c$,"remove",\r
182 function(){\r
183 if(this.expectedModCount==this._list.modCount){\r
184 try{\r
185 this._list.remove(this.lastPosition);\r
186 }catch(e){\r
187 if(Clazz.instanceOf(e,IndexOutOfBoundsException)){\r
188 throw new IllegalStateException();\r
189 }else{\r
190 throw e;\r
191 }\r
192 }\r
193 if(this._list.modCount!=this.expectedModCount){\r
194 this.expectedModCount++;\r
195 }if(this.pos==this.lastPosition){\r
196 this.pos--;\r
197 }this.lastPosition=-1;\r
198 }else{\r
199 throw new java.util.ConcurrentModificationException();\r
200 }});\r
201 \r
202 c$=Clazz.p0p();\r
203 //};\r
204 \r
205 \r
206 //c$.$AbstractList$FullListIterator$=function(){\r
207 Clazz.pu$h(self.c$);\r
208 c$=Clazz.decorateAsClass(function(){\r
209 //Clazz.prepareCallback(this,arguments);\r
210 Clazz.instantialize(this,arguments);\r
211 },java.util,"AbstractListFullListIterator",java.util.AbstractListSimpleListIterator,java.util.ListIterator);\r
212 \r
213 //,Clazz.innerTypeInstance(java.util.AbstractList.SimpleListIterator,this,null,Clazz.inheritArgs));\r
214 \r
215 Clazz.makeConstructor(c$,\r
216 function(a,b){\r
217 Clazz.superConstructor(this,java.util.AbstractListFullListIterator,[a]);\r
218 if(0<=b&&b<=this._list.size()){\r
219 this.pos=b-1;\r
220 }else{\r
221 throw new IndexOutOfBoundsException();\r
222 }},"java.util.AbstractList,~N");\r
223 Clazz.overrideMethod(c$,"add",\r
224 function(a){\r
225 if(this.expectedModCount==this._list.modCount){\r
226 try{\r
227 this._list.add(this.pos+1,a);\r
228 }catch(e){\r
229 if(Clazz.instanceOf(e,IndexOutOfBoundsException)){\r
230 throw new java.util.NoSuchElementException();\r
231 }else{\r
232 throw e;\r
233 }\r
234 }\r
235 this.pos++;\r
236 this.lastPosition=-1;\r
237 if(this._list.modCount!=this.expectedModCount){\r
238 this.expectedModCount++;\r
239 }}else{\r
240 throw new java.util.ConcurrentModificationException();\r
241 }},"~O");\r
242 Clazz.overrideMethod(c$,"hasPrevious",\r
243 function(){\r
244 return this.pos>=0;\r
245 });\r
246 Clazz.overrideMethod(c$,"nextIndex",\r
247 function(){\r
248 return this.pos+1;\r
249 });\r
250 Clazz.overrideMethod(c$,"previous",\r
251 function(){\r
252 if(this.expectedModCount==this._list.modCount){\r
253 try{\r
254 var a=this._list.get(this.pos);\r
255 this.lastPosition=this.pos;\r
256 this.pos--;\r
257 return a;\r
258 }catch(e){\r
259 if(Clazz.instanceOf(e,IndexOutOfBoundsException)){\r
260 throw new java.util.NoSuchElementException();\r
261 }else{\r
262 throw e;\r
263 }\r
264 }\r
265 }throw new java.util.ConcurrentModificationException();\r
266 });\r
267 Clazz.overrideMethod(c$,"previousIndex",\r
268 function(){\r
269 return this.pos;\r
270 });\r
271 Clazz.overrideMethod(c$,"set",\r
272 function(a){\r
273 if(this.expectedModCount==this._list.modCount){\r
274 try{\r
275 this._list.set(this.lastPosition,a);\r
276 }catch(e){\r
277 if(Clazz.instanceOf(e,IndexOutOfBoundsException)){\r
278 throw new IllegalStateException();\r
279 }else{\r
280 throw e;\r
281 }\r
282 }\r
283 }else{\r
284 throw new java.util.ConcurrentModificationException();\r
285 }},"~O");\r
286 c$=Clazz.p0p();\r
287 //};\r
288 \r
289 \r
290 \r
291 \r
292 Clazz.pu$h(self.c$);\r
293 c$=Clazz.declareType(java.util.AbstractList,"SubAbstractListRandomAccess",java.util.AbstractList.SubAbstractList,java.util.RandomAccess);\r
294 c$=Clazz.p0p();\r
295 \r
296 \r
297 \r
298 \r
299 Clazz.pu$h(self.c$);\r
300 c$=Clazz.decorateAsClass(function(){\r
301 this.fullList=null;\r
302 this.offset=0;\r
303 this.$size=0;\r
304 Clazz.instantialize(this,arguments);\r
305 },java.util.AbstractList,"SubAbstractList",java.util.AbstractList);\r
306 Clazz.makeConstructor(c$,\r
307 function(a,b,c){\r
308 Clazz.superConstructor(this,java.util.AbstractList.SubAbstractList);\r
309 this.fullList=a;\r
310 this.modCount=this.fullList.modCount;\r
311 this.offset=b;\r
312 this.$size=c-b;\r
313 },"java.util.AbstractList,~N,~N");\r
314 Clazz.defineMethod(c$,"add",\r
315 function(a,b){\r
316 if(this.modCount==this.fullList.modCount){\r
317 if(0<=a&&a<=this.$size){\r
318 this.fullList.add(a+this.offset,b);\r
319 this.$size++;\r
320 this.modCount=this.fullList.modCount;\r
321 }else{\r
322 throw new IndexOutOfBoundsException();\r
323 }}else{\r
324 throw new java.util.ConcurrentModificationException();\r
325 }},"~N,~O");\r
326 Clazz.defineMethod(c$,"addAll",\r
327 function(a,b){\r
328 if(this.modCount==this.fullList.modCount){\r
329 if(0<=a&&a<=this.$size){\r
330 var c=this.fullList.addAll(a+this.offset,b);\r
331 if(c){\r
332 this.$size+=b.size();\r
333 this.modCount=this.fullList.modCount;\r
334 }return c;\r
335 }throw new IndexOutOfBoundsException();\r
336 }throw new java.util.ConcurrentModificationException();\r
337 },"~N,java.util.Collection");\r
338 Clazz.defineMethod(c$,"addAll",\r
339 function(a){\r
340 if(this.modCount==this.fullList.modCount){\r
341 var b=this.fullList.addAll(this.offset+this.$size,a);\r
342 if(b){\r
343 this.$size+=a.size();\r
344 this.modCount=this.fullList.modCount;\r
345 }return b;\r
346 }throw new java.util.ConcurrentModificationException();\r
347 },"java.util.Collection");\r
348 Clazz.defineMethod(c$,"get",\r
349 function(a){\r
350 if(this.modCount==this.fullList.modCount){\r
351 if(0<=a&&a<this.$size){\r
352 return this.fullList.get(a+this.offset);\r
353 }throw new IndexOutOfBoundsException();\r
354 }throw new java.util.ConcurrentModificationException();\r
355 },"~N");\r
356 Clazz.overrideMethod(c$,"iterator",\r
357 function(){\r
358 return this.listIterator(0);\r
359 });\r
360 Clazz.defineMethod(c$,"listIterator",\r
361 function(a){\r
362 if(this.modCount==this.fullList.modCount){\r
363 if(0<=a&&a<=this.$size){\r
364 return new java.util.AbstractList.SubAbstractList.SubAbstractListIterator(this.fullList.listIterator(a+this.offset),this,this.offset,this.$size);\r
365 }throw new IndexOutOfBoundsException();\r
366 }throw new java.util.ConcurrentModificationException();\r
367 },"~N");\r
368 Clazz.defineMethod(c$,"remove",\r
369 function(a){\r
370 if(this.modCount==this.fullList.modCount){\r
371 if(0<=a&&a<this.$size){\r
372 var b=this.fullList.remove(a+this.offset);\r
373 this.$size--;\r
374 this.modCount=this.fullList.modCount;\r
375 return b;\r
376 }throw new IndexOutOfBoundsException();\r
377 }throw new java.util.ConcurrentModificationException();\r
378 },"~N");\r
379 Clazz.defineMethod(c$,"removeRange",\r
380 function(a,b){\r
381 if(a!=b){\r
382 if(this.modCount==this.fullList.modCount){\r
383 this.fullList.removeRange(a+this.offset,b+this.offset);\r
384 this.$size-=b-a;\r
385 this.modCount=this.fullList.modCount;\r
386 }else{\r
387 throw new java.util.ConcurrentModificationException();\r
388 }}},"~N,~N");\r
389 Clazz.defineMethod(c$,"set",\r
390 function(a,b){\r
391 if(this.modCount==this.fullList.modCount){\r
392 if(0<=a&&a<this.$size){\r
393 return this.fullList.set(a+this.offset,b);\r
394 }throw new IndexOutOfBoundsException();\r
395 }throw new java.util.ConcurrentModificationException();\r
396 },"~N,~O");\r
397 Clazz.overrideMethod(c$,"size",\r
398 function(){\r
399 return this.$size;\r
400 });\r
401 Clazz.defineMethod(c$,"sizeChanged",\r
402 function(a){\r
403 if(a){\r
404 this.$size++;\r
405 }else{\r
406 this.$size--;\r
407 }this.modCount=this.fullList.modCount;\r
408 },"~B");\r
409 Clazz.pu$h(self.c$);\r
410 c$=Clazz.decorateAsClass(function(){\r
411 this.subList=null;\r
412 this.iterator=null;\r
413 this.start=0;\r
414 this.end=0;\r
415 Clazz.instantialize(this,arguments);\r
416 },java.util.AbstractList.SubAbstractList,"SubAbstractListIterator",null,java.util.ListIterator);\r
417 Clazz.makeConstructor(c$,\r
418 function(a,b,c,d){\r
419 this.iterator=a;\r
420 this.subList=b;\r
421 this.start=c;\r
422 this.end=this.start+d;\r
423 },"java.util.ListIterator,java.util.AbstractList.SubAbstractList,~N,~N");\r
424 Clazz.defineMethod(c$,"add",\r
425 function(a){\r
426 this.iterator.add(a);\r
427 this.subList.sizeChanged(true);\r
428 this.end++;\r
429 },"~O");\r
430 Clazz.overrideMethod(c$,"hasNext",\r
431 function(){\r
432 return this.iterator.nextIndex()<this.end;\r
433 });\r
434 Clazz.overrideMethod(c$,"hasPrevious",\r
435 function(){\r
436 return this.iterator.previousIndex()>=this.start;\r
437 });\r
438 Clazz.defineMethod(c$,"next",\r
439 function(){\r
440 if(this.iterator.nextIndex()<this.end){\r
441 return this.iterator.next();\r
442 }throw new java.util.NoSuchElementException();\r
443 });\r
444 Clazz.defineMethod(c$,"nextIndex",\r
445 function(){\r
446 return this.iterator.nextIndex()-this.start;\r
447 });\r
448 Clazz.defineMethod(c$,"previous",\r
449 function(){\r
450 if(this.iterator.previousIndex()>=this.start){\r
451 return this.iterator.previous();\r
452 }throw new java.util.NoSuchElementException();\r
453 });\r
454 Clazz.defineMethod(c$,"previousIndex",\r
455 function(){\r
456 var a=this.iterator.previousIndex();\r
457 if(a>=this.start){\r
458 return a-this.start;\r
459 }return-1;\r
460 });\r
461 Clazz.defineMethod(c$,"remove",\r
462 function(){\r
463 this.iterator.remove();\r
464 this.subList.sizeChanged(false);\r
465 this.end--;\r
466 });\r
467 Clazz.defineMethod(c$,"set",\r
468 function(a){\r
469 this.iterator.set(a);\r
470 },"~O");\r
471 c$=Clazz.p0p();\r
472 c$=Clazz.p0p();\r
473 });\r