X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=site%2Fj2s%2Fjava%2Futil%2FAbstractList.js;fp=site%2Fj2s%2Fjava%2Futil%2FAbstractList.js;h=8d74634648d50706375be93d63e828e762978f3e;hb=4231d40261fef32ce4570a6bbad0d35df44e8baf;hp=0000000000000000000000000000000000000000;hpb=c07eb2c5794833bd0241000d6844d783fe10cb82;p=jalview.git diff --git a/site/j2s/java/util/AbstractList.js b/site/j2s/java/util/AbstractList.js new file mode 100644 index 0000000..8d74634 --- /dev/null +++ b/site/j2s/java/util/AbstractList.js @@ -0,0 +1,473 @@ +// BH 8/25/2014 1:10:59 AM - removed indirect access/inner class business. + +Clazz.load(["java.util.AbstractCollection","$.Iterator","$.List","$.ListIterator","$.RandomAccess","$.NoSuchElementException"],"java.util.AbstractList",["java.lang.IllegalArgumentException","$.IllegalStateException","$.IndexOutOfBoundsException","$.UnsupportedOperationException","java.util.ConcurrentModificationException"],function(){ +c$=Clazz.decorateAsClass(function(){ +this.modCount=0; + + + +//if(!Clazz.isClassDefined("java.util.AbstractList.SimpleListIterator")){ +//java.util.AbstractList.$AbstractList$SimpleListIterator$(); +//} +//if(!Clazz.isClassDefined("java.util.AbstractList.FullListIterator")){ +//java.util.AbstractList.$AbstractList$FullListIterator$(); +//} + + + +Clazz.instantialize(this,arguments); +},java.util,"AbstractList",java.util.AbstractCollection,java.util.List); +Clazz.defineMethod(c$,"add", +function(location,object){ +throw new UnsupportedOperationException(); +},"~N,~O"); +Clazz.defineMethod(c$,"add", +function(object){ +this.add(this.size(),object); +return true; +},"~O"); +Clazz.defineMethod(c$,"addAll", +function(location,collection){ +var it=collection.iterator(); +while(it.hasNext()){ +this.add(location++,it.next()); +} +return!collection.isEmpty(); +},"~N,java.util.Collection"); +Clazz.overrideMethod(c$,"clear", +function(){ +this.removeRange(0,this.size()); +}); +Clazz.overrideMethod(c$,"equals", +function(object){ +if(this===object){ +return true; +}if(Clazz.instanceOf(object,java.util.List)){ +var list=object; +if(list.size()!=this.size()){ +return false; +}var it1=this.iterator(); +var it2=list.iterator(); +while(it1.hasNext()){ +var e1=it1.next(); +var e2=it2.next(); +if(!(e1==null?e2==null:e1.equals(e2))){ +return false; +}} +return true; +}return false; +},"~O"); +Clazz.overrideMethod(c$,"hashCode", +function(){ +var result=1; +var it=this.iterator(); +while(it.hasNext()){ +var object=it.next(); +result=(31*result)+(object==null?0:object.hashCode()); +} +return result; +}); +Clazz.overrideMethod(c$,"indexOf", +function(object){ +var it=this.listIterator(); +if(object!=null){ +while(it.hasNext()){ +if(object.equals(it.next())){ +return it.previousIndex(); +}} +}else{ +while(it.hasNext()){ +if(it.next()==null){ +return it.previousIndex(); +}} +}return-1; +},"~O"); +Clazz.overrideMethod(c$,"iterator", +function(){ +return new java.util.AbstractListSimpleListIterator(this); // Clazz.innerTypeInstance(java.util.AbstractList.SimpleListIterator,this,null); +}); +Clazz.overrideMethod(c$,"lastIndexOf", +function(object){ +var it=this.listIterator(this.size()); +if(object!=null){ +while(it.hasPrevious()){ +if(object.equals(it.previous())){ +return it.nextIndex(); +}} +}else{ +while(it.hasPrevious()){ +if(it.previous()==null){ +return it.nextIndex(); +}} +}return-1; +},"~O"); +//Clazz.defineMethod(c$,"listIterator", +//function(){ +//return this.listIterator(0); +//}); +Clazz.defineMethod(c$,"listIterator", +function(location){ +location || (location = 0); +return new java.util.AbstractListFullListIterator(this, location);//Clazz.innerTypeInstance(java.util.AbstractList.FullListIterator,this,null,location); +},"~N"); +Clazz.defineMethod(c$,"remove", +function(location){ +throw new UnsupportedOperationException(); +},"~N"); +Clazz.defineMethod(c$,"removeRange", +function(start,end){ +var it=this.listIterator(start); +for(var i=start;i=0; +}); +Clazz.overrideMethod(c$,"nextIndex", +function(){ +return this.pos+1; +}); +Clazz.overrideMethod(c$,"previous", +function(){ +if(this.expectedModCount==this._list.modCount){ +try{ +var a=this._list.get(this.pos); +this.lastPosition=this.pos; +this.pos--; +return a; +}catch(e){ +if(Clazz.instanceOf(e,IndexOutOfBoundsException)){ +throw new java.util.NoSuchElementException(); +}else{ +throw e; +} +} +}throw new java.util.ConcurrentModificationException(); +}); +Clazz.overrideMethod(c$,"previousIndex", +function(){ +return this.pos; +}); +Clazz.overrideMethod(c$,"set", +function(a){ +if(this.expectedModCount==this._list.modCount){ +try{ +this._list.set(this.lastPosition,a); +}catch(e){ +if(Clazz.instanceOf(e,IndexOutOfBoundsException)){ +throw new IllegalStateException(); +}else{ +throw e; +} +} +}else{ +throw new java.util.ConcurrentModificationException(); +}},"~O"); +c$=Clazz.p0p(); +//}; + + + + +Clazz.pu$h(self.c$); +c$=Clazz.declareType(java.util.AbstractList,"SubAbstractListRandomAccess",java.util.AbstractList.SubAbstractList,java.util.RandomAccess); +c$=Clazz.p0p(); + + + + +Clazz.pu$h(self.c$); +c$=Clazz.decorateAsClass(function(){ +this.fullList=null; +this.offset=0; +this.$size=0; +Clazz.instantialize(this,arguments); +},java.util.AbstractList,"SubAbstractList",java.util.AbstractList); +Clazz.makeConstructor(c$, +function(a,b,c){ +Clazz.superConstructor(this,java.util.AbstractList.SubAbstractList); +this.fullList=a; +this.modCount=this.fullList.modCount; +this.offset=b; +this.$size=c-b; +},"java.util.AbstractList,~N,~N"); +Clazz.defineMethod(c$,"add", +function(a,b){ +if(this.modCount==this.fullList.modCount){ +if(0<=a&&a<=this.$size){ +this.fullList.add(a+this.offset,b); +this.$size++; +this.modCount=this.fullList.modCount; +}else{ +throw new IndexOutOfBoundsException(); +}}else{ +throw new java.util.ConcurrentModificationException(); +}},"~N,~O"); +Clazz.defineMethod(c$,"addAll", +function(a,b){ +if(this.modCount==this.fullList.modCount){ +if(0<=a&&a<=this.$size){ +var c=this.fullList.addAll(a+this.offset,b); +if(c){ +this.$size+=b.size(); +this.modCount=this.fullList.modCount; +}return c; +}throw new IndexOutOfBoundsException(); +}throw new java.util.ConcurrentModificationException(); +},"~N,java.util.Collection"); +Clazz.defineMethod(c$,"addAll", +function(a){ +if(this.modCount==this.fullList.modCount){ +var b=this.fullList.addAll(this.offset+this.$size,a); +if(b){ +this.$size+=a.size(); +this.modCount=this.fullList.modCount; +}return b; +}throw new java.util.ConcurrentModificationException(); +},"java.util.Collection"); +Clazz.defineMethod(c$,"get", +function(a){ +if(this.modCount==this.fullList.modCount){ +if(0<=a&&a=this.start; +}); +Clazz.defineMethod(c$,"next", +function(){ +if(this.iterator.nextIndex()=this.start){ +return this.iterator.previous(); +}throw new java.util.NoSuchElementException(); +}); +Clazz.defineMethod(c$,"previousIndex", +function(){ +var a=this.iterator.previousIndex(); +if(a>=this.start){ +return a-this.start; +}return-1; +}); +Clazz.defineMethod(c$,"remove", +function(){ +this.iterator.remove(); +this.subList.sizeChanged(false); +this.end--; +}); +Clazz.defineMethod(c$,"set", +function(a){ +this.iterator.set(a); +},"~O"); +c$=Clazz.p0p(); +c$=Clazz.p0p(); +});