public class org.apache.commons.collections.collection.IndexedCollection extends org.apache.commons.collections.collection.AbstractCollectionDecorator
{
private static final long serialVersionUID;
private final org.apache.commons.collections.Transformer keyTransformer;
private final org.apache.commons.collections.MultiMap index;
private final boolean uniqueIndex;
public static org.apache.commons.collections.collection.IndexedCollection uniqueIndexedCollection(java.util.Collection, org.apache.commons.collections.Transformer)
{
org.apache.commons.collections.map.MultiValueMap v;
java.util.Collection v;
org.apache.commons.collections.Transformer v;
org.apache.commons.collections.collection.IndexedCollection v;
java.util.HashMap v;
v := @parameter: java.util.Collection;
v := @parameter: org.apache.commons.collections.Transformer;
v = new org.apache.commons.collections.collection.IndexedCollection;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = staticinvoke <org.apache.commons.collections.map.MultiValueMap: org.apache.commons.collections.map.MultiValueMap multiValueMap(java.util.Map)>(v);
specialinvoke v.<org.apache.commons.collections.collection.IndexedCollection: void <init>(java.util.Collection,org.apache.commons.collections.Transformer,org.apache.commons.collections.MultiMap,boolean)>(v, v, v, 1);
return v;
}
public static org.apache.commons.collections.collection.IndexedCollection nonUniqueIndexedCollection(java.util.Collection, org.apache.commons.collections.Transformer)
{
org.apache.commons.collections.map.MultiValueMap v;
java.util.Collection v;
org.apache.commons.collections.Transformer v;
org.apache.commons.collections.collection.IndexedCollection v;
java.util.HashMap v;
v := @parameter: java.util.Collection;
v := @parameter: org.apache.commons.collections.Transformer;
v = new org.apache.commons.collections.collection.IndexedCollection;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = staticinvoke <org.apache.commons.collections.map.MultiValueMap: org.apache.commons.collections.map.MultiValueMap multiValueMap(java.util.Map)>(v);
specialinvoke v.<org.apache.commons.collections.collection.IndexedCollection: void <init>(java.util.Collection,org.apache.commons.collections.Transformer,org.apache.commons.collections.MultiMap,boolean)>(v, v, v, 0);
return v;
}
public void <init>(java.util.Collection, org.apache.commons.collections.Transformer, org.apache.commons.collections.MultiMap, boolean)
{
java.util.Collection v;
org.apache.commons.collections.MultiMap v;
org.apache.commons.collections.Transformer v;
org.apache.commons.collections.collection.IndexedCollection v;
boolean v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.util.Collection;
v := @parameter: org.apache.commons.collections.Transformer;
v := @parameter: org.apache.commons.collections.MultiMap;
v := @parameter: boolean;
specialinvoke v.<org.apache.commons.collections.collection.AbstractCollectionDecorator: void <init>(java.util.Collection)>(v);
v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.Transformer keyTransformer> = v;
v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.MultiMap index> = v;
v.<org.apache.commons.collections.collection.IndexedCollection: boolean uniqueIndex> = v;
virtualinvoke v.<org.apache.commons.collections.collection.IndexedCollection: void reindex()>();
return;
}
public boolean add(java.lang.Object)
{
org.apache.commons.collections.collection.IndexedCollection v;
java.lang.Object v;
boolean v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.lang.Object;
v = specialinvoke v.<org.apache.commons.collections.collection.AbstractCollectionDecorator: boolean add(java.lang.Object)>(v);
if v == 0 goto label;
specialinvoke v.<org.apache.commons.collections.collection.IndexedCollection: void addToIndex(java.lang.Object)>(v);
label:
return v;
}
public boolean addAll(java.util.Collection)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.commons.collections.collection.IndexedCollection v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.util.Collection;
v = 0;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.commons.collections.collection.IndexedCollection: boolean add(java.lang.Object)>(v);
v = v | v;
goto label;
label:
return v;
}
public void clear()
{
org.apache.commons.collections.collection.IndexedCollection v;
org.apache.commons.collections.MultiMap v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
specialinvoke v.<org.apache.commons.collections.collection.AbstractCollectionDecorator: void clear()>();
v = v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.MultiMap index>;
interfaceinvoke v.<org.apache.commons.collections.MultiMap: void clear()>();
return;
}
public boolean contains(java.lang.Object)
{
org.apache.commons.collections.MultiMap v;
org.apache.commons.collections.Transformer v;
org.apache.commons.collections.collection.IndexedCollection v;
java.lang.Object v, v;
boolean v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.lang.Object;
v = v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.MultiMap index>;
v = v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.Transformer keyTransformer>;
v = interfaceinvoke v.<org.apache.commons.collections.Transformer: java.lang.Object transform(java.lang.Object)>(v);
v = interfaceinvoke v.<org.apache.commons.collections.MultiMap: boolean containsKey(java.lang.Object)>(v);
return v;
}
public boolean containsAll(java.util.Collection)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.commons.collections.collection.IndexedCollection v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.util.Collection;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.commons.collections.collection.IndexedCollection: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
return 0;
label:
return 1;
}
public java.lang.Object get(java.lang.Object)
{
java.util.Iterator v;
org.apache.commons.collections.MultiMap v;
org.apache.commons.collections.collection.IndexedCollection v;
java.lang.Object v, v, v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.lang.Object;
v = v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.MultiMap index>;
v = interfaceinvoke v.<org.apache.commons.collections.MultiMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = null;
goto label;
label:
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
label:
return v;
}
public java.util.Collection values(java.lang.Object)
{
org.apache.commons.collections.MultiMap v;
org.apache.commons.collections.collection.IndexedCollection v;
java.lang.Object v, v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.lang.Object;
v = v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.MultiMap index>;
v = interfaceinvoke v.<org.apache.commons.collections.MultiMap: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public void reindex()
{
java.util.Iterator v;
java.util.Collection v;
org.apache.commons.collections.MultiMap v;
org.apache.commons.collections.collection.IndexedCollection v;
java.lang.Object v;
boolean v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v = v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.MultiMap index>;
interfaceinvoke v.<org.apache.commons.collections.MultiMap: void clear()>();
v = virtualinvoke v.<org.apache.commons.collections.collection.IndexedCollection: java.util.Collection decorated()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
specialinvoke v.<org.apache.commons.collections.collection.IndexedCollection: void addToIndex(java.lang.Object)>(v);
goto label;
label:
return;
}
public boolean remove(java.lang.Object)
{
org.apache.commons.collections.collection.IndexedCollection v;
java.lang.Object v;
boolean v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.lang.Object;
v = specialinvoke v.<org.apache.commons.collections.collection.AbstractCollectionDecorator: boolean remove(java.lang.Object)>(v);
if v == 0 goto label;
specialinvoke v.<org.apache.commons.collections.collection.IndexedCollection: void removeFromIndex(java.lang.Object)>(v);
label:
return v;
}
public boolean removeIf(java.util.function.Predicate)
{
java.util.Iterator v;
java.util.function.Predicate v;
org.apache.commons.collections.collection.IndexedCollection v;
java.lang.Object v;
boolean v, v, v, v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.util.function.Predicate;
v = staticinvoke <java.util.Objects: boolean isNull(java.lang.Object)>(v);
if v == 0 goto label;
return 0;
label:
v = 0;
v = virtualinvoke v.<org.apache.commons.collections.collection.IndexedCollection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.function.Predicate: boolean test(java.lang.Object)>(v);
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: void remove()>();
v = 1;
goto label;
label:
if v == 0 goto label;
virtualinvoke v.<org.apache.commons.collections.collection.IndexedCollection: void reindex()>();
label:
return v;
}
public boolean removeAll(java.util.Collection)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.commons.collections.collection.IndexedCollection v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.util.Collection;
v = 0;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.commons.collections.collection.IndexedCollection: boolean remove(java.lang.Object)>(v);
v = v | v;
goto label;
label:
return v;
}
public boolean retainAll(java.util.Collection)
{
org.apache.commons.collections.collection.IndexedCollection v;
boolean v;
java.util.Collection v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.util.Collection;
v = specialinvoke v.<org.apache.commons.collections.collection.AbstractCollectionDecorator: boolean retainAll(java.util.Collection)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.commons.collections.collection.IndexedCollection: void reindex()>();
label:
return v;
}
private void addToIndex(java.lang.Object)
{
org.apache.commons.collections.Transformer v;
org.apache.commons.collections.collection.IndexedCollection v;
java.lang.IllegalArgumentException v;
org.apache.commons.collections.MultiMap v, v;
java.lang.Object v, v;
boolean v, v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.lang.Object;
v = v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.Transformer keyTransformer>;
v = interfaceinvoke v.<org.apache.commons.collections.Transformer: java.lang.Object transform(java.lang.Object)>(v);
v = v.<org.apache.commons.collections.collection.IndexedCollection: boolean uniqueIndex>;
if v == 0 goto label;
v = v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.MultiMap index>;
v = interfaceinvoke v.<org.apache.commons.collections.MultiMap: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Duplicate key in uniquely indexed collection.");
throw v;
label:
v = v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.MultiMap index>;
interfaceinvoke v.<org.apache.commons.collections.MultiMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
private void removeFromIndex(java.lang.Object)
{
org.apache.commons.collections.MultiMap v;
org.apache.commons.collections.Transformer v;
org.apache.commons.collections.collection.IndexedCollection v;
java.lang.Object v, v;
v := @this: org.apache.commons.collections.collection.IndexedCollection;
v := @parameter: java.lang.Object;
v = v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.MultiMap index>;
v = v.<org.apache.commons.collections.collection.IndexedCollection: org.apache.commons.collections.Transformer keyTransformer>;
v = interfaceinvoke v.<org.apache.commons.collections.Transformer: java.lang.Object transform(java.lang.Object)>(v);
interfaceinvoke v.<org.apache.commons.collections.MultiMap: java.lang.Object remove(java.lang.Object)>(v);
return;
}
}