X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=site%2Fj2s%2Fjava%2Futil%2FLinkedHashMap.js;fp=site%2Fj2s%2Fjava%2Futil%2FLinkedHashMap.js;h=ccf557e54048a8002d6faccee2dc5aad3f0db697;hb=4231d40261fef32ce4570a6bbad0d35df44e8baf;hp=0000000000000000000000000000000000000000;hpb=c07eb2c5794833bd0241000d6844d783fe10cb82;p=jalview.git diff --git a/site/j2s/java/util/LinkedHashMap.js b/site/j2s/java/util/LinkedHashMap.js new file mode 100644 index 0000000..ccf557e --- /dev/null +++ b/site/j2s/java/util/LinkedHashMap.js @@ -0,0 +1,342 @@ +Clazz.load(["java.util.HashMap"],"java.util.LinkedHashMap",["java.lang.IllegalStateException","java.util.AbstractCollection","$.AbstractSet","java.util.MapEntry.Type","java.util.NoSuchElementException"],function(){ +c$=Clazz.decorateAsClass(function(){ +this.accessOrder=false; +this.head=null; +this.tail=null; +Clazz.instantialize(this,arguments); +},java.util,"LinkedHashMap",java.util.HashMap); +Clazz.makeConstructor(c$, +function(){ +Clazz.superConstructor(this,java.util.LinkedHashMap); +this.accessOrder=false; +this.head=null; +}); +Clazz.makeConstructor(c$, +function(s){ +Clazz.superConstructor(this,java.util.LinkedHashMap,[s]); +this.accessOrder=false; +this.head=null; +},"~N"); +Clazz.makeConstructor(c$, +function(s,lf){ +Clazz.superConstructor(this,java.util.LinkedHashMap,[s,lf]); +this.accessOrder=false; +this.head=null; +this.tail=null; +},"~N,~N"); +Clazz.makeConstructor(c$, +function(s,lf,order){ +Clazz.superConstructor(this,java.util.LinkedHashMap,[s,lf]); +this.accessOrder=order; +this.head=null; +this.tail=null; +},"~N,~N,~B"); +Clazz.makeConstructor(c$, +function(m){ +Clazz.superConstructor(this,java.util.LinkedHashMap,[]); +this.accessOrder=false; +this.head=null; +this.tail=null; +this.putAll(m); +},"java.util.Map"); +Clazz.overrideMethod(c$,"newElementArray", +function(s){ +return new Array(s); +},"~N"); +Clazz.overrideMethod(c$,"get", +function(key){ +var m=this.getEntry(key); +if(m==null){ +return null; +}if(this.accessOrder&&this.tail!==m){ +var p=m.chainBackward; +var n=m.chainForward; +n.chainBackward=p; +if(p!=null){ +p.chainForward=n; +}else{ +this.head=n; +}m.chainForward=null; +m.chainBackward=this.tail; +this.tail.chainForward=m; +this.tail=m; +}return m.value; +},"~O"); +Clazz.overrideMethod(c$,"createEntry", +function(key,index,value){ +var m=new java.util.LinkedHashMap.LinkedHashMapEntry(key,value); +m.next=this.elementData[index]; +this.elementData[index]=m; +this.linkEntry(m); +return m; +},"~O,~N,~O"); +Clazz.overrideMethod(c$,"put", +function(key,value){ +var index=this.getModuloHash(key); +var m=this.findEntry(key,index); +if(m==null){ +this.modCount++; +if(++this.elementCount>this.threshold){ +this.rehash(); +index=key==null?0:(key.hashCode()&0x7FFFFFFF)%this.elementData.length; +}m=this.createEntry(key,index,null); +}else{ +this.linkEntry(m); +}var result=m.value; +m.value=value; +if(this.removeEldestEntry(this.head)){ +this.remove(this.head.key); +}return result; +},"~O,~O"); +Clazz.defineMethod(c$,"linkEntry", +function(m){ +if(this.tail===m){ +return; +}if(this.head==null){ +this.head=this.tail=m; +return; +}var p=m.chainBackward; +var n=m.chainForward; +if(p==null){ +if(n!=null){ +if(this.accessOrder){ +this.head=n; +n.chainBackward=null; +m.chainBackward=this.tail; +m.chainForward=null; +this.tail.chainForward=m; +this.tail=m; +}}else{ +m.chainBackward=this.tail; +m.chainForward=null; +this.tail.chainForward=m; +this.tail=m; +}return; +}if(n==null){ +return; +}if(this.accessOrder){ +p.chainForward=n; +n.chainBackward=p; +m.chainForward=null; +m.chainBackward=this.tail; +this.tail.chainForward=m; +this.tail=m; +}},"java.util.LinkedHashMap.LinkedHashMapEntry"); +Clazz.overrideMethod(c$,"entrySet", +function(){ +return new java.util.LinkedHashMap.LinkedHashMapEntrySet(this); +}); +Clazz.overrideMethod(c$,"keySet", +function(){ +if(this.$keySet==null){ +this.$keySet=((Clazz.isClassDefined("java.util.LinkedHashMap$1")?0:java.util.LinkedHashMap.$LinkedHashMap$1$()),Clazz.innerTypeInstance(java.util.LinkedHashMap$1,this,null)); +}return this.$keySet; +}); +Clazz.overrideMethod(c$,"values", +function(){ +if(this.valuesCollection==null){ +this.valuesCollection=((Clazz.isClassDefined("java.util.LinkedHashMap$2")?0:java.util.LinkedHashMap.$LinkedHashMap$2$()),Clazz.innerTypeInstance(java.util.LinkedHashMap$2,this,null)); +}return this.valuesCollection; +}); +Clazz.overrideMethod(c$,"remove", +function(key){ +var m=this.removeEntry(key); +if(m==null){ +return null; +}var p=m.chainBackward; +var n=m.chainForward; +if(p!=null){ +p.chainForward=n; +}else{ +this.head=n; +}if(n!=null){ +n.chainBackward=p; +}else{ +this.tail=p; +}return m.value; +},"~O"); +Clazz.defineMethod(c$,"removeEldestEntry", +function(eldest){ +return false; +},"java.util.Map.Entry"); +Clazz.defineMethod(c$,"clear", +function(){ +Clazz.superCall(this,java.util.LinkedHashMap,"clear",[]); +this.head=this.tail=null; +}); +Clazz.defineMethod(c$,"clone", +function(){ +var map=Clazz.superCall(this,java.util.LinkedHashMap,"clone",[]); +map.clear(); +for(var entry,$entry=this.entrySet().iterator();$entry.hasNext()&&((entry=$entry.next())||true);){ +map.put(entry.getKey(),entry.getValue()); +} +return map; +}); +c$.$LinkedHashMap$1$=function(){ +Clazz.pu$h(self.c$); +c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$1",java.util.AbstractSet); +Clazz.overrideMethod(c$,"contains", +function(object){ +return this.b$["java.util.LinkedHashMap"].containsKey(object); +},"~O"); +Clazz.overrideMethod(c$,"size", +function(){ +return this.b$["java.util.LinkedHashMap"].size(); +}); +Clazz.overrideMethod(c$,"clear", +function(){ +this.b$["java.util.LinkedHashMap"].clear(); +}); +Clazz.overrideMethod(c$,"remove", +function(key){ +if(this.b$["java.util.LinkedHashMap"].containsKey(key)){ +this.b$["java.util.LinkedHashMap"].remove(key); +return true; +}return false; +},"~O"); +Clazz.overrideMethod(c$,"iterator", +function(){ +return new java.util.LinkedHashMap.LinkedHashIterator(((Clazz.isClassDefined("java.util.LinkedHashMap$1$1")?0:java.util.LinkedHashMap.$LinkedHashMap$1$1$()),Clazz.innerTypeInstance(java.util.LinkedHashMap$1$1,this,null)),this.b$["java.util.LinkedHashMap"]); +}); +c$=Clazz.p0p(); +}; +c$.$LinkedHashMap$1$1$=function(){ +Clazz.pu$h(self.c$); +c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$1$1",null,java.util.MapEntry.Type); +Clazz.overrideMethod(c$,"get", +function(entry){ +return entry.key; +},"java.util.MapEntry"); +c$=Clazz.p0p(); +}; +c$.$LinkedHashMap$2$=function(){ +Clazz.pu$h(self.c$); +c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$2",java.util.AbstractCollection); +Clazz.overrideMethod(c$,"contains", +function(object){ +return this.b$["java.util.LinkedHashMap"].containsValue(object); +},"~O"); +Clazz.overrideMethod(c$,"size", +function(){ +return this.b$["java.util.LinkedHashMap"].size(); +}); +Clazz.overrideMethod(c$,"clear", +function(){ +this.b$["java.util.LinkedHashMap"].clear(); +}); +Clazz.overrideMethod(c$,"iterator", +function(){ +return new java.util.LinkedHashMap.LinkedHashIterator(((Clazz.isClassDefined("java.util.LinkedHashMap$2$1")?0:java.util.LinkedHashMap.$LinkedHashMap$2$1$()),Clazz.innerTypeInstance(java.util.LinkedHashMap$2$1,this,null)),this.b$["java.util.LinkedHashMap"]); +}); +c$=Clazz.p0p(); +}; +c$.$LinkedHashMap$2$1$=function(){ +Clazz.pu$h(self.c$); +c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$2$1",null,java.util.MapEntry.Type); +Clazz.overrideMethod(c$,"get", +function(entry){ +return entry.value; +},"java.util.MapEntry"); +c$=Clazz.p0p(); +}; +Clazz.pu$h(self.c$); +c$=Clazz.declareType(java.util.LinkedHashMap,"LinkedHashIterator",java.util.HashMap.HashMapIterator); +Clazz.makeConstructor(c$, +function(a,b){ +Clazz.superConstructor(this,java.util.LinkedHashMap.LinkedHashIterator,[a,b]); +this.entry=b.head; +},"java.util.MapEntry.Type,java.util.LinkedHashMap"); +Clazz.overrideMethod(c$,"hasNext", +function(){ +return(this.entry!=null); +}); +Clazz.overrideMethod(c$,"next", +function(){ +this.checkConcurrentMod(); +if(!this.hasNext()){ +throw new java.util.NoSuchElementException(); +}var a=this.type.get(this.entry); +this.lastEntry=this.entry; +this.entry=(this.entry).chainForward; +this.canRemove=true; +return a; +}); +Clazz.overrideMethod(c$,"remove", +function(){ +this.checkConcurrentMod(); +if(!this.canRemove){ +throw new IllegalStateException(); +}this.canRemove=false; +this.associatedMap.modCount++; +var a=this.associatedMap.getModuloHash(this.lastEntry.key); +var b=this.associatedMap.elementData[a]; +if(b===this.lastEntry){ +this.associatedMap.elementData[a]=this.lastEntry.next; +}else{ +while(b.next!=null){ +if(b.next===this.lastEntry){ +break; +}b=b.next; +} +b.next=this.lastEntry.next; +}var c=this.lastEntry; +var d=c.chainBackward; +var e=c.chainForward; +var f=this.associatedMap; +if(d!=null){ +d.chainForward=e; +if(e!=null){ +e.chainBackward=d; +}else{ +f.tail=d; +}}else{ +f.head=e; +if(e!=null){ +e.chainBackward=null; +}else{ +f.tail=null; +}}this.associatedMap.elementCount--; +this.expectedModCount++; +}); +c$=Clazz.p0p(); +Clazz.pu$h(self.c$); +c$=Clazz.declareType(java.util.LinkedHashMap,"LinkedHashMapEntrySet",java.util.HashMap.HashMapEntrySet); +Clazz.overrideMethod(c$,"iterator", +function(){ +return new java.util.LinkedHashMap.LinkedHashIterator(((Clazz.isClassDefined("java.util.LinkedHashMap$LinkedHashMapEntrySet$1")?0:java.util.LinkedHashMap.LinkedHashMapEntrySet.$LinkedHashMap$LinkedHashMapEntrySet$1$()),Clazz.innerTypeInstance(java.util.LinkedHashMap$LinkedHashMapEntrySet$1,this,null)),this.hashMap()); +}); +c$.$LinkedHashMap$LinkedHashMapEntrySet$1$=function(){ +Clazz.pu$h(self.c$); +c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$LinkedHashMapEntrySet$1",null,java.util.MapEntry.Type); +Clazz.overrideMethod(c$,"get", +function(a){ +return a; +},"java.util.MapEntry"); +c$=Clazz.p0p(); +}; +c$=Clazz.p0p(); +Clazz.pu$h(self.c$); +c$=Clazz.decorateAsClass(function(){ +this.chainForward=null; +this.chainBackward=null; +Clazz.instantialize(this,arguments); +},java.util.LinkedHashMap,"LinkedHashMapEntry",java.util.HashMap.Entry); +Clazz.makeConstructor(c$, +function(a,b){ +Clazz.superConstructor(this,java.util.LinkedHashMap.LinkedHashMapEntry,[a,b]); +this.chainForward=null; +this.chainBackward=null; +},"~O,~O"); +Clazz.defineMethod(c$,"clone", +function(){ +var a=Clazz.superCall(this,java.util.LinkedHashMap.LinkedHashMapEntry,"clone",[]); +a.chainBackward=this.chainBackward; +a.chainForward=this.chainForward; +var b=a.next; +if(b!=null){ +a.next=b.clone(); +}return a; +}); +c$=Clazz.p0p(); +});