1 // 4/23/2015 1:20:24 PM BH removing need for array.getClass().getComponentType()
\r
3 Clazz.load(["java.util.Collection"],"java.util.AbstractCollection",["java.lang.StringBuilder","$.UnsupportedOperationException","java.lang.reflect.Array"],function(){
\r
4 c$=Clazz.declareType(java.util,"AbstractCollection",null,java.util.Collection);
\r
5 Clazz.makeConstructor(c$,
\r
8 Clazz.overrideMethod(c$,"add",
\r
10 throw new UnsupportedOperationException();
\r
12 Clazz.overrideMethod(c$,"addAll",
\r
13 function(collection){
\r
15 var it=collection.iterator();
\r
16 while(it.hasNext()){
\r
17 if(this.add(it.next())){
\r
21 },"java.util.Collection");
\r
22 Clazz.overrideMethod(c$,"clear",
\r
24 var it=this.iterator();
\r
25 while(it.hasNext()){
\r
30 Clazz.overrideMethod(c$,"contains",
\r
32 var it=this.iterator();
\r
34 while(it.hasNext()){
\r
35 if(object.equals(it.next())){
\r
39 while(it.hasNext()){
\r
40 if(it.next()==null){
\r
45 Clazz.overrideMethod(c$,"containsAll",
\r
46 function(collection){
\r
47 var it=collection.iterator();
\r
48 while(it.hasNext()){
\r
49 if(!this.contains(it.next())){
\r
53 },"java.util.Collection");
\r
54 Clazz.overrideMethod(c$,"isEmpty",
\r
56 return this.size()==0;
\r
58 Clazz.overrideMethod(c$,"remove",
\r
60 var it=this.iterator();
\r
62 while(it.hasNext()){
\r
63 if(object.equals(it.next())){
\r
68 while(it.hasNext()){
\r
69 if(it.next()==null){
\r
75 Clazz.overrideMethod(c$,"removeAll",
\r
76 function(collection){
\r
78 var it=this.iterator();
\r
79 while(it.hasNext()){
\r
80 if(collection.contains(it.next())){
\r
85 },"java.util.Collection");
\r
86 Clazz.overrideMethod(c$,"retainAll",
\r
87 function(collection){
\r
89 var it=this.iterator();
\r
90 while(it.hasNext()){
\r
91 if(!collection.contains(it.next())){
\r
96 },"java.util.Collection");
\r
97 Clazz.defineMethod(c$,"toArray",
\r
99 var size=this.size();
\r
101 var it=this.iterator();
\r
102 var array=new Array(size);
\r
104 array[index++]=it.next();
\r
108 Clazz.defineMethod(c$,"toArray",
\r
109 function(contents){
\r
110 var size=this.size();
\r
112 // if(size>contents.length){ // BH unnec
\r
113 //var ct=contents.getClass().getComponentType();
\r
114 //contents=java.lang.reflect.Array.newInstance(ct,size);
\r
116 for(var entry,$entry=this.iterator();$entry.hasNext()&&((entry=$entry.next())||true);){
\r
117 contents[index++]=entry;
\r
119 if(index<contents.length){
\r
120 contents[index]=null;
\r
123 Clazz.overrideMethod(c$,"toString",
\r
125 if(this.isEmpty()){
\r
127 }var buffer=new StringBuilder(this.size()*16);
\r
128 buffer.append('[');
\r
129 var it=this.iterator();
\r
130 while(it.hasNext()){
\r
131 var next=it.next();
\r
133 buffer.append(next);
\r
135 buffer.append("(this Collection)");
\r
137 buffer.append(", ");
\r
139 buffer.append(']');
\r
140 return buffer.toString();
\r