Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / java / util / AbstractCollection.js
1 // 4/23/2015 1:20:24 PM BH removing need for array.getClass().getComponentType()
2
3 Clazz.load(["java.util.Collection"],"java.util.AbstractCollection",["java.lang.StringBuilder","$.UnsupportedOperationException","java.lang.reflect.Array"],function(){
4 c$=Clazz.declareType(java.util,"AbstractCollection",null,java.util.Collection);
5 Clazz.makeConstructor(c$,
6 function(){
7 });
8 Clazz.overrideMethod(c$,"add",
9 function(object){
10 throw new UnsupportedOperationException();
11 },"~O");
12 Clazz.overrideMethod(c$,"addAll",
13 function(collection){
14 var result=false;
15 var it=collection.iterator();
16 while(it.hasNext()){
17 if(this.add(it.next())){
18 result=true;
19 }}
20 return result;
21 },"java.util.Collection");
22 Clazz.overrideMethod(c$,"clear",
23 function(){
24 var it=this.iterator();
25 while(it.hasNext()){
26 it.next();
27 it.remove();
28 }
29 });
30 Clazz.overrideMethod(c$,"contains",
31 function(object){
32 var it=this.iterator();
33 if(object!=null){
34 while(it.hasNext()){
35 if(object.equals(it.next())){
36 return true;
37 }}
38 }else{
39 while(it.hasNext()){
40 if(it.next()==null){
41 return true;
42 }}
43 }return false;
44 },"~O");
45 Clazz.overrideMethod(c$,"containsAll",
46 function(collection){
47 var it=collection.iterator();
48 while(it.hasNext()){
49 if(!this.contains(it.next())){
50 return false;
51 }}
52 return true;
53 },"java.util.Collection");
54 Clazz.overrideMethod(c$,"isEmpty",
55 function(){
56 return this.size()==0;
57 });
58 Clazz.overrideMethod(c$,"remove",
59 function(object){
60 var it=this.iterator();
61 if(object!=null){
62 while(it.hasNext()){
63 if(object.equals(it.next())){
64 it.remove();
65 return true;
66 }}
67 }else{
68 while(it.hasNext()){
69 if(it.next()==null){
70 it.remove();
71 return true;
72 }}
73 }return false;
74 },"~O");
75 Clazz.overrideMethod(c$,"removeAll",
76 function(collection){
77 var result=false;
78 var it=this.iterator();
79 while(it.hasNext()){
80 if(collection.contains(it.next())){
81 it.remove();
82 result=true;
83 }}
84 return result;
85 },"java.util.Collection");
86 Clazz.overrideMethod(c$,"retainAll",
87 function(collection){
88 var result=false;
89 var it=this.iterator();
90 while(it.hasNext()){
91 if(!collection.contains(it.next())){
92 it.remove();
93 result=true;
94 }}
95 return result;
96 },"java.util.Collection");
97 Clazz.defineMethod(c$,"toArray",
98 function(){
99 var size=this.size();
100 var index=0;
101 var it=this.iterator();
102 var array=new Array(size);
103 while(index<size){
104 array[index++]=it.next();
105 }
106 return array;
107 });
108 Clazz.defineMethod(c$,"toArray",
109 function(contents){
110 var size=this.size();
111 var index=0;
112 // if(size>contents.length){  // BH unnec
113 //var ct=contents.getClass().getComponentType();
114 //contents=java.lang.reflect.Array.newInstance(ct,size);
115 //}
116 for(var entry,$entry=this.iterator();$entry.hasNext()&&((entry=$entry.next())||true);){
117 contents[index++]=entry;
118 }
119 if(index<contents.length){
120 contents[index]=null;
121 }return contents;
122 },"~A");
123 Clazz.overrideMethod(c$,"toString",
124 function(){
125 if(this.isEmpty()){
126 return"[]";
127 }var buffer=new StringBuilder(this.size()*16);
128 buffer.append('[');
129 var it=this.iterator();
130 while(it.hasNext()){
131 var next=it.next();
132 if(next!==this){
133 buffer.append(next);
134 }else{
135 buffer.append("(this Collection)");
136 }if(it.hasNext()){
137 buffer.append(", ");
138 }}
139 buffer.append(']');
140 return buffer.toString();
141 });
142 });