public class org.mongodb.morphia.mapping.cache.DefaultEntityCache implements org.mongodb.morphia.mapping.cache.EntityCache
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.mongodb.morphia.mapping.cache.DefaultEntityCache
super_class: java.lang.Object
{
private final java.util.Map entityMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map proxyMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<org.mongodb.morphia.Key, java.lang.Boolean> existenceMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/mongodb/morphia/Key;Ljava/lang/Boolean;>;
private final org.mongodb.morphia.mapping.cache.EntityCacheStatistics stats;
descriptor: Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new relocated.morphia.org.apache.commons.collections.ReferenceMap
dup
iconst_0
iconst_2
invokespecial relocated.morphia.org.apache.commons.collections.ReferenceMap.<init>:(II)V
putfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.entityMap:Ljava/util/Map;
2: aload 0
new relocated.morphia.org.apache.commons.collections.ReferenceMap
dup
iconst_2
iconst_2
invokespecial relocated.morphia.org.apache.commons.collections.ReferenceMap.<init>:(II)V
putfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.proxyMap:Ljava/util/Map;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.existenceMap:Ljava/util/Map;
4: aload 0
new org.mongodb.morphia.mapping.cache.EntityCacheStatistics
dup
invokespecial org.mongodb.morphia.mapping.cache.EntityCacheStatistics.<init>:()V
putfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/mongodb/morphia/mapping/cache/DefaultEntityCache;
public java.lang.Boolean exists(org.mongodb.morphia.Key<?>);
descriptor: (Lorg/mongodb/morphia/Key;)Ljava/lang/Boolean;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.entityMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 3
1: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
invokevirtual org.mongodb.morphia.mapping.cache.EntityCacheStatistics.incHits:()V
2: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.existenceMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 2
start local 2 4: aload 2
ifnonnull 7
5: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
invokevirtual org.mongodb.morphia.mapping.cache.EntityCacheStatistics.incMisses:()V
6: goto 8
7: StackMap locals: java.lang.Boolean
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
invokevirtual org.mongodb.morphia.mapping.cache.EntityCacheStatistics.incHits:()V
8: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/mongodb/morphia/mapping/cache/DefaultEntityCache;
0 9 1 k Lorg/mongodb/morphia/Key<*>;
4 9 2 b Ljava/lang/Boolean;
Signature: (Lorg/mongodb/morphia/Key<*>;)Ljava/lang/Boolean;
MethodParameters:
Name Flags
k final
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.entityMap:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
1: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.existenceMap:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
2: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.proxyMap:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
3: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
invokevirtual org.mongodb.morphia.mapping.cache.EntityCacheStatistics.reset:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/mongodb/morphia/mapping/cache/DefaultEntityCache;
public <T> T getEntity(org.mongodb.morphia.Key<T>);
descriptor: (Lorg/mongodb/morphia/Key;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.entityMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 10
2: invokestatic org.mongodb.morphia.mapping.lazy.LazyFeatureDependencies.testDependencyFullFilled:()Z
ifeq 8
3: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.proxyMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 4: aload 3
ifnull 8
5: aload 3
invokestatic org.mongodb.morphia.mapping.lazy.proxy.ProxyHelper.isFetched:(Ljava/lang/Object;)Z
pop
6: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
invokevirtual org.mongodb.morphia.mapping.cache.EntityCacheStatistics.incHits:()V
7: aload 3
invokestatic org.mongodb.morphia.mapping.lazy.proxy.ProxyHelper.unwrap:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 8: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
invokevirtual org.mongodb.morphia.mapping.cache.EntityCacheStatistics.incMisses:()V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
invokevirtual org.mongodb.morphia.mapping.cache.EntityCacheStatistics.incHits:()V
11: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/mongodb/morphia/mapping/cache/DefaultEntityCache;
0 12 1 k Lorg/mongodb/morphia/Key<TT;>;
1 12 2 o Ljava/lang/Object;
4 8 3 proxy Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/Key<TT;>;)TT;
MethodParameters:
Name Flags
k final
public <T> T getProxy(org.mongodb.morphia.Key<T>);
descriptor: (Lorg/mongodb/morphia/Key;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.proxyMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
invokevirtual org.mongodb.morphia.mapping.cache.EntityCacheStatistics.incMisses:()V
3: goto 5
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
invokevirtual org.mongodb.morphia.mapping.cache.EntityCacheStatistics.incHits:()V
5: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/mongodb/morphia/mapping/cache/DefaultEntityCache;
0 6 1 k Lorg/mongodb/morphia/Key<TT;>;
1 6 2 o Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/Key<TT;>;)TT;
MethodParameters:
Name Flags
k final
public void notifyExists(org.mongodb.morphia.Key<?>, );
descriptor: (Lorg/mongodb/morphia/Key;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.existenceMap:Ljava/util/Map;
aload 1
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 3
2: StackMap locals: java.lang.Boolean
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
invokevirtual org.mongodb.morphia.mapping.cache.EntityCacheStatistics.incEntities:()V
3: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/mapping/cache/DefaultEntityCache;
0 4 1 k Lorg/mongodb/morphia/Key<*>;
0 4 2 exists Z
1 4 3 put Ljava/lang/Boolean;
Signature: (Lorg/mongodb/morphia/Key<*>;Z)V
MethodParameters:
Name Flags
k final
exists final
public <T> void putEntity(org.mongodb.morphia.Key<T>, );
descriptor: (Lorg/mongodb/morphia/Key;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_1
invokevirtual org.mongodb.morphia.mapping.cache.DefaultEntityCache.notifyExists:(Lorg/mongodb/morphia/Key;Z)V
1: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.entityMap:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/mongodb/morphia/mapping/cache/DefaultEntityCache;
0 3 1 k Lorg/mongodb/morphia/Key<TT;>;
0 3 2 t TT;
Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/Key<TT;>;TT;)V
MethodParameters:
Name Flags
k final
t final
public <T> void putProxy(org.mongodb.morphia.Key<T>, );
descriptor: (Lorg/mongodb/morphia/Key;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.proxyMap:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
invokevirtual org.mongodb.morphia.mapping.cache.EntityCacheStatistics.incEntities:()V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/mongodb/morphia/mapping/cache/DefaultEntityCache;
0 3 1 k Lorg/mongodb/morphia/Key<TT;>;
0 3 2 t TT;
Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/Key<TT;>;TT;)V
MethodParameters:
Name Flags
k final
t final
public org.mongodb.morphia.mapping.cache.EntityCacheStatistics stats();
descriptor: ()Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.cache.DefaultEntityCache.stats:Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
invokevirtual org.mongodb.morphia.mapping.cache.EntityCacheStatistics.copy:()Lorg/mongodb/morphia/mapping/cache/EntityCacheStatistics;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/cache/DefaultEntityCache;
}
SourceFile: "DefaultEntityCache.java"