1 Clazz.load(["java.util.HashMap"],"java.util.LinkedHashMap",["java.lang.IllegalStateException","java.util.AbstractCollection","$.AbstractSet","java.util.MapEntry.Type","java.util.NoSuchElementException"],function(){
\r
2 c$=Clazz.decorateAsClass(function(){
\r
3 this.accessOrder=false;
\r
6 Clazz.instantialize(this,arguments);
\r
7 },java.util,"LinkedHashMap",java.util.HashMap);
\r
8 Clazz.makeConstructor(c$,
\r
10 Clazz.superConstructor(this,java.util.LinkedHashMap);
\r
11 this.accessOrder=false;
\r
14 Clazz.makeConstructor(c$,
\r
16 Clazz.superConstructor(this,java.util.LinkedHashMap,[s]);
\r
17 this.accessOrder=false;
\r
20 Clazz.makeConstructor(c$,
\r
22 Clazz.superConstructor(this,java.util.LinkedHashMap,[s,lf]);
\r
23 this.accessOrder=false;
\r
27 Clazz.makeConstructor(c$,
\r
28 function(s,lf,order){
\r
29 Clazz.superConstructor(this,java.util.LinkedHashMap,[s,lf]);
\r
30 this.accessOrder=order;
\r
34 Clazz.makeConstructor(c$,
\r
36 Clazz.superConstructor(this,java.util.LinkedHashMap,[]);
\r
37 this.accessOrder=false;
\r
42 Clazz.overrideMethod(c$,"newElementArray",
\r
44 return new Array(s);
\r
46 Clazz.overrideMethod(c$,"get",
\r
48 var m=this.getEntry(key);
\r
51 }if(this.accessOrder&&this.tail!==m){
\r
52 var p=m.chainBackward;
\r
53 var n=m.chainForward;
\r
59 }m.chainForward=null;
\r
60 m.chainBackward=this.tail;
\r
61 this.tail.chainForward=m;
\r
65 Clazz.overrideMethod(c$,"createEntry",
\r
66 function(key,index,value){
\r
67 var m=new java.util.LinkedHashMap.LinkedHashMapEntry(key,value);
\r
68 m.next=this.elementData[index];
\r
69 this.elementData[index]=m;
\r
73 Clazz.overrideMethod(c$,"put",
\r
74 function(key,value){
\r
75 var index=this.getModuloHash(key);
\r
76 var m=this.findEntry(key,index);
\r
79 if(++this.elementCount>this.threshold){
\r
81 index=key==null?0:(key.hashCode()&0x7FFFFFFF)%this.elementData.length;
\r
82 }m=this.createEntry(key,index,null);
\r
85 }var result=m.value;
\r
87 if(this.removeEldestEntry(this.head)){
\r
88 this.remove(this.head.key);
\r
91 Clazz.defineMethod(c$,"linkEntry",
\r
95 }if(this.head==null){
\r
96 this.head=this.tail=m;
\r
98 }var p=m.chainBackward;
\r
99 var n=m.chainForward;
\r
102 if(this.accessOrder){
\r
104 n.chainBackward=null;
\r
105 m.chainBackward=this.tail;
\r
106 m.chainForward=null;
\r
107 this.tail.chainForward=m;
\r
110 m.chainBackward=this.tail;
\r
111 m.chainForward=null;
\r
112 this.tail.chainForward=m;
\r
117 }if(this.accessOrder){
\r
120 m.chainForward=null;
\r
121 m.chainBackward=this.tail;
\r
122 this.tail.chainForward=m;
\r
124 }},"java.util.LinkedHashMap.LinkedHashMapEntry");
\r
125 Clazz.overrideMethod(c$,"entrySet",
\r
127 return new java.util.LinkedHashMap.LinkedHashMapEntrySet(this);
\r
129 Clazz.overrideMethod(c$,"keySet",
\r
131 if(this.$keySet==null){
\r
132 this.$keySet=((Clazz.isClassDefined("java.util.LinkedHashMap$1")?0:java.util.LinkedHashMap.$LinkedHashMap$1$()),Clazz.innerTypeInstance(java.util.LinkedHashMap$1,this,null));
\r
133 }return this.$keySet;
\r
135 Clazz.overrideMethod(c$,"values",
\r
137 if(this.valuesCollection==null){
\r
138 this.valuesCollection=((Clazz.isClassDefined("java.util.LinkedHashMap$2")?0:java.util.LinkedHashMap.$LinkedHashMap$2$()),Clazz.innerTypeInstance(java.util.LinkedHashMap$2,this,null));
\r
139 }return this.valuesCollection;
\r
141 Clazz.overrideMethod(c$,"remove",
\r
143 var m=this.removeEntry(key);
\r
146 }var p=m.chainBackward;
\r
147 var n=m.chainForward;
\r
158 Clazz.defineMethod(c$,"removeEldestEntry",
\r
161 },"java.util.Map.Entry");
\r
162 Clazz.defineMethod(c$,"clear",
\r
164 Clazz.superCall(this,java.util.LinkedHashMap,"clear",[]);
\r
165 this.head=this.tail=null;
\r
167 Clazz.defineMethod(c$,"clone",
\r
169 var map=Clazz.superCall(this,java.util.LinkedHashMap,"clone",[]);
\r
171 for(var entry,$entry=this.entrySet().iterator();$entry.hasNext()&&((entry=$entry.next())||true);){
\r
172 map.put(entry.getKey(),entry.getValue());
\r
176 c$.$LinkedHashMap$1$=function(){
\r
177 Clazz.pu$h(self.c$);
\r
178 c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$1",java.util.AbstractSet);
\r
179 Clazz.overrideMethod(c$,"contains",
\r
181 return this.b$["java.util.LinkedHashMap"].containsKey(object);
\r
183 Clazz.overrideMethod(c$,"size",
\r
185 return this.b$["java.util.LinkedHashMap"].size();
\r
187 Clazz.overrideMethod(c$,"clear",
\r
189 this.b$["java.util.LinkedHashMap"].clear();
\r
191 Clazz.overrideMethod(c$,"remove",
\r
193 if(this.b$["java.util.LinkedHashMap"].containsKey(key)){
\r
194 this.b$["java.util.LinkedHashMap"].remove(key);
\r
198 Clazz.overrideMethod(c$,"iterator",
\r
200 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"]);
\r
204 c$.$LinkedHashMap$1$1$=function(){
\r
205 Clazz.pu$h(self.c$);
\r
206 c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$1$1",null,java.util.MapEntry.Type);
\r
207 Clazz.overrideMethod(c$,"get",
\r
210 },"java.util.MapEntry");
\r
213 c$.$LinkedHashMap$2$=function(){
\r
214 Clazz.pu$h(self.c$);
\r
215 c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$2",java.util.AbstractCollection);
\r
216 Clazz.overrideMethod(c$,"contains",
\r
218 return this.b$["java.util.LinkedHashMap"].containsValue(object);
\r
220 Clazz.overrideMethod(c$,"size",
\r
222 return this.b$["java.util.LinkedHashMap"].size();
\r
224 Clazz.overrideMethod(c$,"clear",
\r
226 this.b$["java.util.LinkedHashMap"].clear();
\r
228 Clazz.overrideMethod(c$,"iterator",
\r
230 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"]);
\r
234 c$.$LinkedHashMap$2$1$=function(){
\r
235 Clazz.pu$h(self.c$);
\r
236 c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$2$1",null,java.util.MapEntry.Type);
\r
237 Clazz.overrideMethod(c$,"get",
\r
239 return entry.value;
\r
240 },"java.util.MapEntry");
\r
243 Clazz.pu$h(self.c$);
\r
244 c$=Clazz.declareType(java.util.LinkedHashMap,"LinkedHashIterator",java.util.HashMap.HashMapIterator);
\r
245 Clazz.makeConstructor(c$,
\r
247 Clazz.superConstructor(this,java.util.LinkedHashMap.LinkedHashIterator,[a,b]);
\r
249 },"java.util.MapEntry.Type,java.util.LinkedHashMap");
\r
250 Clazz.overrideMethod(c$,"hasNext",
\r
252 return(this.entry!=null);
\r
254 Clazz.overrideMethod(c$,"next",
\r
256 this.checkConcurrentMod();
\r
257 if(!this.hasNext()){
\r
258 throw new java.util.NoSuchElementException();
\r
259 }var a=this.type.get(this.entry);
\r
260 this.lastEntry=this.entry;
\r
261 this.entry=(this.entry).chainForward;
\r
262 this.canRemove=true;
\r
265 Clazz.overrideMethod(c$,"remove",
\r
267 this.checkConcurrentMod();
\r
268 if(!this.canRemove){
\r
269 throw new IllegalStateException();
\r
270 }this.canRemove=false;
\r
271 this.associatedMap.modCount++;
\r
272 var a=this.associatedMap.getModuloHash(this.lastEntry.key);
\r
273 var b=this.associatedMap.elementData[a];
\r
274 if(b===this.lastEntry){
\r
275 this.associatedMap.elementData[a]=this.lastEntry.next;
\r
277 while(b.next!=null){
\r
278 if(b.next===this.lastEntry){
\r
282 b.next=this.lastEntry.next;
\r
283 }var c=this.lastEntry;
\r
284 var d=c.chainBackward;
\r
285 var e=c.chainForward;
\r
286 var f=this.associatedMap;
\r
296 e.chainBackward=null;
\r
299 }}this.associatedMap.elementCount--;
\r
300 this.expectedModCount++;
\r
303 Clazz.pu$h(self.c$);
\r
304 c$=Clazz.declareType(java.util.LinkedHashMap,"LinkedHashMapEntrySet",java.util.HashMap.HashMapEntrySet);
\r
305 Clazz.overrideMethod(c$,"iterator",
\r
307 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());
\r
309 c$.$LinkedHashMap$LinkedHashMapEntrySet$1$=function(){
\r
310 Clazz.pu$h(self.c$);
\r
311 c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$LinkedHashMapEntrySet$1",null,java.util.MapEntry.Type);
\r
312 Clazz.overrideMethod(c$,"get",
\r
315 },"java.util.MapEntry");
\r
319 Clazz.pu$h(self.c$);
\r
320 c$=Clazz.decorateAsClass(function(){
\r
321 this.chainForward=null;
\r
322 this.chainBackward=null;
\r
323 Clazz.instantialize(this,arguments);
\r
324 },java.util.LinkedHashMap,"LinkedHashMapEntry",java.util.HashMap.Entry);
\r
325 Clazz.makeConstructor(c$,
\r
327 Clazz.superConstructor(this,java.util.LinkedHashMap.LinkedHashMapEntry,[a,b]);
\r
328 this.chainForward=null;
\r
329 this.chainBackward=null;
\r
331 Clazz.defineMethod(c$,"clone",
\r
333 var a=Clazz.superCall(this,java.util.LinkedHashMap.LinkedHashMapEntry,"clone",[]);
\r
334 a.chainBackward=this.chainBackward;
\r
335 a.chainForward=this.chainForward;
\r