public class org.mongodb.morphia.mapping.Mapper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.mongodb.morphia.mapping.Mapper
super_class: java.lang.Object
{
public static final java.lang.String ID_KEY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "_id"
public static final java.lang.String IGNORED_FIELDNAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "."
public static final java.lang.String CLASS_NAME_FIELDNAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "className"
private static final org.mongodb.morphia.logging.Logger LOG;
descriptor: Lorg/mongodb/morphia/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.Map<java.lang.String, org.mongodb.morphia.mapping.MappedClass> mappedClasses;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/mongodb/morphia/mapping/MappedClass;>;
private final java.util.concurrent.ConcurrentHashMap<java.lang.String, java.util.Set<org.mongodb.morphia.mapping.MappedClass>> mappedClassesByCollection;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Ljava/util/Set<Lorg/mongodb/morphia/mapping/MappedClass;>;>;
private final java.util.List<org.mongodb.morphia.EntityInterceptor> interceptors;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/mongodb/morphia/EntityInterceptor;>;
private final java.util.Map<java.lang.Class, java.lang.Object> instanceCache;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class;Ljava/lang/Object;>;
private final org.mongodb.morphia.mapping.lazy.LazyProxyFactory proxyFactory;
descriptor: Lorg/mongodb/morphia/mapping/lazy/LazyProxyFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.mongodb.morphia.converters.Converters converters;
descriptor: Lorg/mongodb/morphia/converters/Converters;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.mongodb.morphia.mapping.MapperOptions opts;
descriptor: Lorg/mongodb/morphia/mapping/MapperOptions;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/mongodb/morphia/mapping/Mapper;
invokestatic org.mongodb.morphia.logging.MorphiaLoggerFactory.get:(Ljava/lang/Class;)Lorg/mongodb/morphia/logging/Logger;
putstatic org.mongodb.morphia.mapping.Mapper.LOG:Lorg/mongodb/morphia/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.mongodb.morphia.mapping.MapperOptions);
descriptor: (Lorg/mongodb/morphia/mapping/MapperOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.mongodb.morphia.mapping.Mapper.<init>:()V
1: aload 0
aload 1
putfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 3 1 opts Lorg/mongodb/morphia/mapping/MapperOptions;
MethodParameters:
Name Flags
opts final
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.mongodb.morphia.mapping.Mapper.mappedClasses:Ljava/util/Map;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.mongodb.morphia.mapping.Mapper.mappedClassesByCollection:Ljava/util/concurrent/ConcurrentHashMap;
3: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield org.mongodb.morphia.mapping.Mapper.interceptors:Ljava/util/List;
4: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.mongodb.morphia.mapping.Mapper.instanceCache:Ljava/util/Map;
5: aload 0
invokestatic org.mongodb.morphia.mapping.lazy.LazyFeatureDependencies.createDefaultProxyFactory:()Lorg/mongodb/morphia/mapping/lazy/LazyProxyFactory;
putfield org.mongodb.morphia.mapping.Mapper.proxyFactory:Lorg/mongodb/morphia/mapping/lazy/LazyProxyFactory;
6: aload 0
new org.mongodb.morphia.mapping.MapperOptions
dup
invokespecial org.mongodb.morphia.mapping.MapperOptions.<init>:()V
putfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
7: aload 0
new org.mongodb.morphia.converters.CustomConverters
dup
aload 0
invokespecial org.mongodb.morphia.converters.CustomConverters.<init>:(Lorg/mongodb/morphia/mapping/Mapper;)V
putfield org.mongodb.morphia.mapping.Mapper.converters:Lorg/mongodb/morphia/converters/Converters;
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/mongodb/morphia/mapping/Mapper;
public void <init>(org.mongodb.morphia.mapping.MapperOptions, org.mongodb.morphia.mapping.Mapper);
descriptor: (Lorg/mongodb/morphia/mapping/MapperOptions;Lorg/mongodb/morphia/mapping/Mapper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial org.mongodb.morphia.mapping.Mapper.<init>:(Lorg/mongodb/morphia/mapping/MapperOptions;)V
1: aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClasses:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MapperOptions org.mongodb.morphia.mapping.Mapper top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedClass
astore 3
start local 3 3: aload 0
aload 3
iconst_0
invokevirtual org.mongodb.morphia.mapping.Mapper.addMappedClass:(Lorg/mongodb/morphia/mapping/MappedClass;Z)Lorg/mongodb/morphia/mapping/MappedClass;
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 6 1 options Lorg/mongodb/morphia/mapping/MapperOptions;
0 6 2 mapper Lorg/mongodb/morphia/mapping/Mapper;
3 4 3 mappedClass Lorg/mongodb/morphia/mapping/MappedClass;
MethodParameters:
Name Flags
options final
mapper final
public void addInterceptor(org.mongodb.morphia.EntityInterceptor);
descriptor: (Lorg/mongodb/morphia/EntityInterceptor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.Mapper.interceptors:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 2 1 ei Lorg/mongodb/morphia/EntityInterceptor;
MethodParameters:
Name Flags
ei final
public org.mongodb.morphia.mapping.MappedClass addMappedClass(java.lang.Class);
descriptor: (Ljava/lang/Class;)Lorg/mongodb/morphia/mapping/MappedClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.Mapper.mappedClasses:Ljava/util/Map;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedClass
astore 2
start local 2 1: aload 2
ifnonnull 4
2: new org.mongodb.morphia.mapping.MappedClass
dup
aload 1
aload 0
invokespecial org.mongodb.morphia.mapping.MappedClass.<init>:(Ljava/lang/Class;Lorg/mongodb/morphia/mapping/Mapper;)V
astore 2
3: aload 0
aload 2
iconst_1
invokevirtual org.mongodb.morphia.mapping.Mapper.addMappedClass:(Lorg/mongodb/morphia/mapping/MappedClass;Z)Lorg/mongodb/morphia/mapping/MappedClass;
areturn
4: StackMap locals: org.mongodb.morphia.mapping.MappedClass
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 5 1 c Ljava/lang/Class;
1 5 2 mappedClass Lorg/mongodb/morphia/mapping/MappedClass;
MethodParameters:
Name Flags
c final
public org.mongodb.morphia.mapping.cache.EntityCache createEntityCache();
descriptor: ()Lorg/mongodb/morphia/mapping/cache/EntityCache;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.mongodb.morphia.mapping.Mapper.getOptions:()Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getCacheFactory:()Lorg/mongodb/morphia/mapping/cache/EntityCacheFactory;
invokeinterface org.mongodb.morphia.mapping.cache.EntityCacheFactory.createCache:()Lorg/mongodb/morphia/mapping/cache/EntityCache;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/Mapper;
public <T> T fromDBObject(org.mongodb.morphia.Datastore, java.lang.Class<T>, com.mongodb.DBObject, org.mongodb.morphia.mapping.cache.EntityCache);
descriptor: (Lorg/mongodb/morphia/Datastore;Ljava/lang/Class;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/cache/EntityCache;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
ifnonnull 4
1: new java.lang.Throwable
dup
invokespecial java.lang.Throwable.<init>:()V
astore 5
start local 5 2: getstatic org.mongodb.morphia.mapping.Mapper.LOG:Lorg/mongodb/morphia/logging/Logger;
ldc "A null reference was passed in for the dbObject"
aload 5
invokeinterface org.mongodb.morphia.logging.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
3: aconst_null
areturn
end local 5 4: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getObjectFactory:()Lorg/mongodb/morphia/ObjectFactory;
aload 2
aload 3
invokeinterface org.mongodb.morphia.ObjectFactory.createInstance:(Ljava/lang/Class;Lcom/mongodb/DBObject;)Ljava/lang/Object;
astore 5
start local 5 5: aload 0
aload 1
aload 3
aload 5
aload 4
invokevirtual org.mongodb.morphia.mapping.Mapper.fromDb:(Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/cache/EntityCache;)Ljava/lang/Object;
astore 5
6: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 7 1 datastore Lorg/mongodb/morphia/Datastore;
0 7 2 entityClass Ljava/lang/Class<TT;>;
0 7 3 dbObject Lcom/mongodb/DBObject;
0 7 4 cache Lorg/mongodb/morphia/mapping/cache/EntityCache;
2 4 5 t Ljava/lang/Throwable;
5 7 5 entity TT;
Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/Datastore;Ljava/lang/Class<TT;>;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/cache/EntityCache;)TT;
MethodParameters:
Name Flags
datastore final
entityClass final
dbObject final
cache final
public java.util.List<org.mongodb.morphia.mapping.MappedClass> getSubTypes(org.mongodb.morphia.mapping.MappedClass);
descriptor: (Lorg/mongodb/morphia/mapping/MappedClass;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 0
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClasses:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedClass java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedClass
astore 3
start local 3 3: aload 3
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedClass.isSubType:(Lorg/mongodb/morphia/mapping/MappedClass;)Z
ifeq 5
4: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 7 1 mc Lorg/mongodb/morphia/mapping/MappedClass;
1 7 2 subtypes Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedClass;>;
3 5 3 mappedClass Lorg/mongodb/morphia/mapping/MappedClass;
Signature: (Lorg/mongodb/morphia/mapping/MappedClass;)Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedClass;>;
MethodParameters:
Name Flags
mc final
<T> T fromDBObject(org.mongodb.morphia.Datastore, com.mongodb.DBObject);
descriptor: (Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc "className"
invokeinterface com.mongodb.DBObject.containsField:(Ljava/lang/String;)Z
ifeq 4
1: aload 0
getfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getObjectFactory:()Lorg/mongodb/morphia/ObjectFactory;
aconst_null
aload 2
invokeinterface org.mongodb.morphia.ObjectFactory.createInstance:(Ljava/lang/Class;Lcom/mongodb/DBObject;)Ljava/lang/Object;
astore 3
start local 3 2: aload 0
aload 1
aload 2
aload 3
aload 0
invokevirtual org.mongodb.morphia.mapping.Mapper.createEntityCache:()Lorg/mongodb/morphia/mapping/cache/EntityCache;
invokevirtual org.mongodb.morphia.mapping.Mapper.fromDb:(Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/cache/EntityCache;)Ljava/lang/Object;
astore 3
3: aload 3
areturn
end local 3 4: StackMap locals:
StackMap stack:
new org.mongodb.morphia.mapping.MappingException
dup
ldc "The DBOBbject does not contain a %s key. Determining entity type is impossible."
iconst_1
anewarray java.lang.Object
dup
iconst_0
5: ldc "className"
aastore
6: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.mongodb.morphia.mapping.MappingException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 7 1 datastore Lorg/mongodb/morphia/Datastore;
0 7 2 dbObject Lcom/mongodb/DBObject;
2 4 3 entity TT;
Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;)TT;
MethodParameters:
Name Flags
datastore final
dbObject final
public <T> T fromDb(org.mongodb.morphia.Datastore, com.mongodb.DBObject, T, org.mongodb.morphia.mapping.cache.EntityCache);
descriptor: (Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/cache/EntityCache;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
instanceof org.mongodb.morphia.mapping.MappedField
ifeq 3
1: aload 0
aload 1
aload 3
checkcast org.mongodb.morphia.mapping.MappedField
aload 3
aload 4
aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.readMappedField:(Lorg/mongodb/morphia/Datastore;Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/cache/EntityCache;Lcom/mongodb/DBObject;)V
2: aload 3
areturn
3: StackMap locals:
StackMap stack:
aload 2
ldc "_id"
invokeinterface com.mongodb.DBObject.containsField:(Ljava/lang/String;)Z
ifeq 10
aload 0
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getIdField:()Ljava/lang/reflect/Field;
ifnull 10
4: aload 0
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getEntityAnnotation:()Lorg/mongodb/morphia/annotations/Entity;
ifnull 10
5: new org.mongodb.morphia.Key
dup
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 0
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual org.mongodb.morphia.mapping.Mapper.getCollectionName:(Ljava/lang/Object;)Ljava/lang/String;
aload 2
ldc "_id"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
invokespecial org.mongodb.morphia.Key.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
astore 5
start local 5 6: aload 4
aload 5
invokeinterface org.mongodb.morphia.mapping.cache.EntityCache.getEntity:(Lorg/mongodb/morphia/Key;)Ljava/lang/Object;
astore 6
start local 6 7: aload 6
ifnull 9
8: aload 6
areturn
9: StackMap locals: org.mongodb.morphia.Key java.lang.Object
StackMap stack:
aload 4
aload 5
aload 3
invokeinterface org.mongodb.morphia.mapping.cache.EntityCache.putEntity:(Lorg/mongodb/morphia/Key;Ljava/lang/Object;)V
end local 6 end local 5 10: StackMap locals:
StackMap stack:
aload 3
instanceof java.util.Map
ifeq 20
11: aload 3
checkcast java.util.Map
astore 5
start local 5 12: aload 2
invokeinterface com.mongodb.DBObject.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 18
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject java.lang.Object org.mongodb.morphia.mapping.cache.EntityCache java.util.Map top java.util.Iterator
StackMap stack:
13: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 14: aload 2
aload 6
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 8
start local 8 15: aload 5
aload 6
aload 8
instanceof com.mongodb.DBObject
ifeq 16
aload 0
aload 1
aload 8
checkcast com.mongodb.DBObject
invokevirtual org.mongodb.morphia.mapping.Mapper.fromDBObject:(Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;)Ljava/lang/Object;
goto 17
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject java.lang.Object org.mongodb.morphia.mapping.cache.EntityCache java.util.Map java.lang.String java.util.Iterator java.lang.Object
StackMap stack: java.util.Map java.lang.String
16: aload 8
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject java.lang.Object org.mongodb.morphia.mapping.cache.EntityCache java.util.Map java.lang.String java.util.Iterator java.lang.Object
StackMap stack: java.util.Map java.lang.String java.lang.Object
17: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 6 18: StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject java.lang.Object org.mongodb.morphia.mapping.cache.EntityCache java.util.Map top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 5 19: goto 48
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject java.lang.Object org.mongodb.morphia.mapping.cache.EntityCache
StackMap stack:
20: aload 3
instanceof java.util.Collection
ifeq 29
21: aload 3
checkcast java.util.Collection
astore 5
start local 5 22: aload 2
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 27
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject java.lang.Object org.mongodb.morphia.mapping.cache.EntityCache java.util.Collection top java.util.Iterator
StackMap stack:
23: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 6
start local 6 24: aload 5
aload 6
instanceof com.mongodb.DBObject
ifeq 25
aload 0
aload 1
aload 6
checkcast com.mongodb.DBObject
invokevirtual org.mongodb.morphia.mapping.Mapper.fromDBObject:(Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;)Ljava/lang/Object;
goto 26
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject java.lang.Object org.mongodb.morphia.mapping.cache.EntityCache java.util.Collection java.lang.Object java.util.Iterator
StackMap stack: java.util.Collection
25: aload 6
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject java.lang.Object org.mongodb.morphia.mapping.cache.EntityCache java.util.Collection java.lang.Object java.util.Iterator
StackMap stack: java.util.Collection java.lang.Object
26: invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 6 27: StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject java.lang.Object org.mongodb.morphia.mapping.cache.EntityCache java.util.Collection top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
end local 5 28: goto 48
29: StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject java.lang.Object org.mongodb.morphia.mapping.cache.EntityCache
StackMap stack:
aload 0
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
astore 5
start local 5 30: aload 5
ldc Lorg/mongodb/morphia/annotations/PreLoad;
aload 3
aload 2
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedClass.callLifecycleMethods:(Ljava/lang/Class;Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)Lcom/mongodb/DBObject;
astore 6
start local 6 31: aload 5
invokevirtual org.mongodb.morphia.mapping.MappedClass.getPersistenceFields:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 34
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject java.lang.Object org.mongodb.morphia.mapping.cache.EntityCache org.mongodb.morphia.mapping.MappedClass com.mongodb.DBObject top java.util.Iterator
StackMap stack:
32: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedField
astore 7
start local 7 33: aload 0
aload 1
aload 7
aload 3
aload 4
aload 6
invokevirtual org.mongodb.morphia.mapping.Mapper.readMappedField:(Lorg/mongodb/morphia/Datastore;Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/cache/EntityCache;Lcom/mongodb/DBObject;)V
end local 7 34: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
35: goto 44
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject java.lang.Object org.mongodb.morphia.mapping.cache.EntityCache org.mongodb.morphia.mapping.MappedClass com.mongodb.DBObject
StackMap stack: org.mongodb.morphia.mapping.MappingException
36: astore 7
start local 7 37: aload 2
ldc "_id"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 8
start local 8 38: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 9
start local 9 39: new org.mongodb.morphia.mapping.MappingException
dup
ldc "Could not map %s with ID: %s in database '%s'"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 9
aastore
dup
iconst_1
aload 8
aastore
dup
iconst_2
40: aload 1
invokeinterface org.mongodb.morphia.Datastore.getDB:()Lcom/mongodb/DB;
invokevirtual com.mongodb.DB.getName:()Ljava/lang/String;
aastore
41: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
42: aload 7
43: invokespecial org.mongodb.morphia.mapping.MappingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 end local 8 end local 7 44: StackMap locals:
StackMap stack:
aload 6
ldc "_id"
invokeinterface com.mongodb.DBObject.containsField:(Ljava/lang/String;)Z
ifeq 47
aload 0
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getIdField:()Ljava/lang/reflect/Field;
ifnull 47
45: new org.mongodb.morphia.Key
dup
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 0
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual org.mongodb.morphia.mapping.Mapper.getCollectionName:(Ljava/lang/Object;)Ljava/lang/String;
aload 6
ldc "_id"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
invokespecial org.mongodb.morphia.Key.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
astore 7
start local 7 46: aload 4
aload 7
aload 3
invokeinterface org.mongodb.morphia.mapping.cache.EntityCache.putEntity:(Lorg/mongodb/morphia/Key;Ljava/lang/Object;)V
end local 7 47: StackMap locals:
StackMap stack:
aload 5
ldc Lorg/mongodb/morphia/annotations/PostLoad;
aload 3
aload 6
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedClass.callLifecycleMethods:(Ljava/lang/Class;Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)Lcom/mongodb/DBObject;
pop
end local 6 end local 5 48: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 49 1 datastore Lorg/mongodb/morphia/Datastore;
0 49 2 dbObject Lcom/mongodb/DBObject;
0 49 3 entity TT;
0 49 4 cache Lorg/mongodb/morphia/mapping/cache/EntityCache;
6 10 5 key Lorg/mongodb/morphia/Key<TT;>;
7 10 6 cachedInstance TT;
12 19 5 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
14 18 6 key Ljava/lang/String;
15 18 8 o Ljava/lang/Object;
22 28 5 collection Ljava/util/Collection<Ljava/lang/Object;>;
24 27 6 o Ljava/lang/Object;
30 48 5 mc Lorg/mongodb/morphia/mapping/MappedClass;
31 48 6 updated Lcom/mongodb/DBObject;
33 34 7 mf Lorg/mongodb/morphia/mapping/MappedField;
37 44 7 e Lorg/mongodb/morphia/mapping/MappingException;
38 44 8 id Ljava/lang/Object;
39 44 9 entityName Ljava/lang/String;
46 47 7 key Lorg/mongodb/morphia/Key;
Exception table:
from to target type
31 35 36 Class org.mongodb.morphia.mapping.MappingException
Signature: <T:Ljava/lang/Object;>(Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;TT;Lorg/mongodb/morphia/mapping/cache/EntityCache;)TT;
MethodParameters:
Name Flags
datastore final
dbObject final
entity final
cache final
public java.lang.Class<?> getClassFromCollection(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.Mapper.mappedClassesByCollection:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokeinterface java.util.Set.isEmpty:()Z
ifeq 3
2: StackMap locals: java.util.Set
StackMap stack:
new org.mongodb.morphia.mapping.MappingException
dup
ldc "The collection '%s' is not mapped to a java class."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.mongodb.morphia.mapping.MappingException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Set.size:()I
iconst_1
if_icmple 6
4: getstatic org.mongodb.morphia.mapping.Mapper.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isInfoEnabled:()Z
ifeq 6
5: getstatic org.mongodb.morphia.mapping.Mapper.LOG:Lorg/mongodb/morphia/logging/Logger;
ldc "Found more than one class mapped to collection '%s'%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.mongodb.morphia.logging.Logger.info:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedClass
invokevirtual org.mongodb.morphia.mapping.MappedClass.getClazz:()Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 7 1 collection Ljava/lang/String;
1 7 2 mcs Ljava/util/Set<Lorg/mongodb/morphia/mapping/MappedClass;>;
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
collection final
public java.lang.String getCollectionName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
astore 2
start local 2 3: aload 2
invokevirtual org.mongodb.morphia.mapping.MappedClass.getCollectionName:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 4 1 object Ljava/lang/Object;
3 4 2 mc Lorg/mongodb/morphia/mapping/MappedClass;
MethodParameters:
Name Flags
object final
public org.mongodb.morphia.converters.Converters getConverters();
descriptor: ()Lorg/mongodb/morphia/converters/Converters;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.Mapper.converters:Lorg/mongodb/morphia/converters/Converters;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/Mapper;
public java.lang.Object getId(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 2
invokestatic org.mongodb.morphia.mapping.lazy.proxy.ProxyHelper.unwrap:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
4: aload 0
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getIdField:()Ljava/lang/reflect/Field;
aload 2
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
5: areturn
6: StackMap locals:
StackMap stack: java.lang.Exception
pop
7: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 8 1 entity Ljava/lang/Object;
1 8 2 unwrapped Ljava/lang/Object;
Exception table:
from to target type
4 5 6 Class java.lang.Exception
MethodParameters:
Name Flags
entity final
public java.util.Map<java.lang.Class, java.lang.Object> getInstanceCache();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.Mapper.instanceCache:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/Mapper;
Signature: ()Ljava/util/Map<Ljava/lang/Class;Ljava/lang/Object;>;
public java.util.Collection<org.mongodb.morphia.EntityInterceptor> getInterceptors();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.Mapper.interceptors:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/Mapper;
Signature: ()Ljava/util/Collection<Lorg/mongodb/morphia/EntityInterceptor;>;
public <T> org.mongodb.morphia.Key<T> getKey(T);
descriptor: (Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 2
instanceof org.mongodb.morphia.mapping.lazy.proxy.ProxiedEntityReference
ifeq 4
2: aload 2
checkcast org.mongodb.morphia.mapping.lazy.proxy.ProxiedEntityReference
astore 3
start local 3 3: aload 3
invokeinterface org.mongodb.morphia.mapping.lazy.proxy.ProxiedEntityReference.__getKey:()Lorg/mongodb/morphia/Key;
areturn
end local 3 4: StackMap locals: java.lang.Object
StackMap stack:
aload 2
invokestatic org.mongodb.morphia.mapping.lazy.proxy.ProxyHelper.unwrap:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
5: aload 2
instanceof org.mongodb.morphia.Key
ifeq 7
6: aload 2
checkcast org.mongodb.morphia.Key
areturn
7: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.getId:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 8: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 4
start local 4 9: aload 3
ifnonnull 10
aconst_null
goto 11
StackMap locals: java.lang.Object java.lang.Class
StackMap stack:
10: new org.mongodb.morphia.Key
dup
aload 4
aload 0
aload 4
invokevirtual org.mongodb.morphia.mapping.Mapper.getCollectionName:(Ljava/lang/Object;)Ljava/lang/String;
aload 3
invokespecial org.mongodb.morphia.Key.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
StackMap locals:
StackMap stack: org.mongodb.morphia.Key
11: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 12 1 entity TT;
1 12 2 unwrapped TT;
3 4 3 proxy Lorg/mongodb/morphia/mapping/lazy/proxy/ProxiedEntityReference;
8 12 3 id Ljava/lang/Object;
9 12 4 aClass Ljava/lang/Class<TT;>;
Signature: <T:Ljava/lang/Object;>(TT;)Lorg/mongodb/morphia/Key<TT;>;
MethodParameters:
Name Flags
entity final
public <T> org.mongodb.morphia.Key<T> getKey(T, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Lorg/mongodb/morphia/Key;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
astore 3
start local 3 1: aload 3
instanceof org.mongodb.morphia.mapping.lazy.proxy.ProxiedEntityReference
ifeq 4
2: aload 3
checkcast org.mongodb.morphia.mapping.lazy.proxy.ProxiedEntityReference
astore 4
start local 4 3: aload 4
invokeinterface org.mongodb.morphia.mapping.lazy.proxy.ProxiedEntityReference.__getKey:()Lorg/mongodb/morphia/Key;
areturn
end local 4 4: StackMap locals: java.lang.Object
StackMap stack:
aload 3
invokestatic org.mongodb.morphia.mapping.lazy.proxy.ProxyHelper.unwrap:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
5: aload 3
instanceof org.mongodb.morphia.Key
ifeq 7
6: aload 3
checkcast org.mongodb.morphia.Key
areturn
7: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.getId:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 8: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 5
start local 5 9: aload 4
ifnonnull 10
aconst_null
goto 11
StackMap locals: java.lang.Object java.lang.Class
StackMap stack:
10: new org.mongodb.morphia.Key
dup
aload 5
aload 2
aload 4
invokespecial org.mongodb.morphia.Key.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
StackMap locals:
StackMap stack: org.mongodb.morphia.Key
11: areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 12 1 entity TT;
0 12 2 collection Ljava/lang/String;
1 12 3 unwrapped TT;
3 4 4 proxy Lorg/mongodb/morphia/mapping/lazy/proxy/ProxiedEntityReference;
8 12 4 id Ljava/lang/Object;
9 12 5 aClass Ljava/lang/Class<TT;>;
Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;)Lorg/mongodb/morphia/Key<TT;>;
MethodParameters:
Name Flags
entity final
collection final
public <T> java.util.List<org.mongodb.morphia.Key<T>> getKeysByManualRefs(java.lang.Class<T>, java.util.List<java.lang.Object>);
descriptor: (Ljava/lang/Class;Ljava/util/List;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.Mapper.getCollectionName:(Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 1: new java.util.ArrayList
dup
aload 2
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 2: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 5
StackMap locals: org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List java.lang.String java.util.List top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 4: aload 4
aload 0
aload 3
aload 5
invokevirtual org.mongodb.morphia.mapping.Mapper.manualRefToKey:(Ljava/lang/String;Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 5: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 7 1 clazz Ljava/lang/Class<TT;>;
0 7 2 refs Ljava/util/List<Ljava/lang/Object;>;
1 7 3 collection Ljava/lang/String;
2 7 4 keys Ljava/util/List<Lorg/mongodb/morphia/Key<TT;>;>;
4 5 5 ref Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/util/List<Ljava/lang/Object;>;)Ljava/util/List<Lorg/mongodb/morphia/Key<TT;>;>;
MethodParameters:
Name Flags
clazz final
refs final
public <T> java.util.List<org.mongodb.morphia.Key<T>> getKeysByRefs(java.util.List<com.mongodb.DBRef>);
descriptor: (Ljava/util/List;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 1
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: org.mongodb.morphia.mapping.Mapper java.util.List java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.mongodb.DBRef
astore 3
start local 3 3: aload 0
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.refToKey:(Lcom/mongodb/DBRef;)Lorg/mongodb/morphia/Key;
astore 5
start local 5 4: aload 2
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 7 1 refs Ljava/util/List<Lcom/mongodb/DBRef;>;
1 7 2 keys Ljava/util/List<Lorg/mongodb/morphia/Key<TT;>;>;
3 5 3 ref Lcom/mongodb/DBRef;
4 5 5 testKey Lorg/mongodb/morphia/Key<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/List<Lcom/mongodb/DBRef;>;)Ljava/util/List<Lorg/mongodb/morphia/Key<TT;>;>;
MethodParameters:
Name Flags
refs final
public java.util.Map<java.lang.String, org.mongodb.morphia.mapping.MappedClass> getMCMap();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.Mapper.mappedClasses:Ljava/util/Map;
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/Mapper;
Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/mongodb/morphia/mapping/MappedClass;>;
public org.mongodb.morphia.mapping.MappedClass getMappedClass(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Class
ifeq 3
aload 1
checkcast java.lang.Class
goto 4
StackMap locals:
StackMap stack:
3: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
4: astore 2
start local 2 5: aload 1
invokestatic org.mongodb.morphia.mapping.lazy.proxy.ProxyHelper.isProxy:(Ljava/lang/Object;)Z
ifeq 7
6: aload 1
invokestatic org.mongodb.morphia.mapping.lazy.proxy.ProxyHelper.getReferentClass:(Ljava/lang/Object;)Ljava/lang/Class;
astore 2
7: StackMap locals: java.lang.Class
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.Mapper.mappedClasses:Ljava/util/Map;
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedClass
astore 3
start local 3 8: aload 3
ifnonnull 11
9: new org.mongodb.morphia.mapping.MappedClass
dup
aload 2
aload 0
invokespecial org.mongodb.morphia.mapping.MappedClass.<init>:(Ljava/lang/Class;Lorg/mongodb/morphia/mapping/Mapper;)V
astore 3
10: aload 0
aload 3
iconst_0
invokevirtual org.mongodb.morphia.mapping.Mapper.addMappedClass:(Lorg/mongodb/morphia/mapping/MappedClass;Z)Lorg/mongodb/morphia/mapping/MappedClass;
pop
11: StackMap locals: org.mongodb.morphia.mapping.MappedClass
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 12 1 obj Ljava/lang/Object;
5 12 2 type Ljava/lang/Class;
8 12 3 mc Lorg/mongodb/morphia/mapping/MappedClass;
MethodParameters:
Name Flags
obj final
public java.util.Collection<org.mongodb.morphia.mapping.MappedClass> getMappedClasses();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
getfield org.mongodb.morphia.mapping.Mapper.mappedClasses:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/Mapper;
Signature: ()Ljava/util/Collection<Lorg/mongodb/morphia/mapping/MappedClass;>;
public org.mongodb.morphia.mapping.MapperOptions getOptions();
descriptor: ()Lorg/mongodb/morphia/mapping/MapperOptions;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/Mapper;
public void setOptions(org.mongodb.morphia.mapping.MapperOptions);
descriptor: (Lorg/mongodb/morphia/mapping/MapperOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 2 1 options Lorg/mongodb/morphia/mapping/MapperOptions;
MethodParameters:
Name Flags
options final
public boolean isMapped(java.lang.Class);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.Mapper.mappedClasses:Ljava/util/Map;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 1 1 c Ljava/lang/Class;
MethodParameters:
Name Flags
c final
public com.mongodb.DBRef keyToDBRef(org.mongodb.morphia.Key);
descriptor: (Lorg/mongodb/morphia/Key;)Lcom/mongodb/DBRef;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.mongodb.morphia.Key.getType:()Ljava/lang/Class;
ifnonnull 4
aload 1
invokevirtual org.mongodb.morphia.Key.getCollection:()Ljava/lang/String;
ifnonnull 4
3: new java.lang.IllegalStateException
dup
ldc "How can it be missing both?"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.mongodb.morphia.Key.getCollection:()Ljava/lang/String;
ifnonnull 6
5: aload 1
aload 0
aload 1
invokevirtual org.mongodb.morphia.Key.getType:()Ljava/lang/Class;
invokevirtual org.mongodb.morphia.mapping.Mapper.getCollectionName:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual org.mongodb.morphia.Key.setCollection:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.mongodb.morphia.Key.getId:()Ljava/lang/Object;
astore 2
start local 2 7: aload 0
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual org.mongodb.morphia.mapping.Mapper.isMapped:(Ljava/lang/Class;)Z
ifeq 9
8: aload 0
aload 2
iconst_1
invokevirtual org.mongodb.morphia.mapping.Mapper.toMongoObject:(Ljava/lang/Object;Z)Ljava/lang/Object;
astore 2
9: StackMap locals: java.lang.Object
StackMap stack:
new com.mongodb.DBRef
dup
aload 1
invokevirtual org.mongodb.morphia.Key.getCollection:()Ljava/lang/String;
aload 2
invokespecial com.mongodb.DBRef.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 10 1 key Lorg/mongodb/morphia/Key;
7 10 2 id Ljava/lang/Object;
MethodParameters:
Name Flags
key final
public <T> org.mongodb.morphia.Key<T> manualRefToKey(java.lang.Class<T>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: new org.mongodb.morphia.Key
dup
aload 1
aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.Mapper.getCollectionName:(Ljava/lang/Object;)Ljava/lang/String;
aload 2
invokespecial org.mongodb.morphia.Key.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
StackMap locals:
StackMap stack: org.mongodb.morphia.Key
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 3 1 type Ljava/lang/Class<TT;>;
0 3 2 id Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Object;)Lorg/mongodb/morphia/Key<TT;>;
MethodParameters:
Name Flags
type final
id final
public <T> org.mongodb.morphia.Key<T> refToKey(com.mongodb.DBRef);
descriptor: (Lcom/mongodb/DBRef;)Lorg/mongodb/morphia/Key;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
aconst_null
goto 3
StackMap locals:
StackMap stack:
1: new org.mongodb.morphia.Key
dup
aload 0
aload 1
invokevirtual com.mongodb.DBRef.getCollectionName:()Ljava/lang/String;
invokevirtual org.mongodb.morphia.mapping.Mapper.getClassFromCollection:(Ljava/lang/String;)Ljava/lang/Class;
2: aload 1
invokevirtual com.mongodb.DBRef.getCollectionName:()Ljava/lang/String;
aload 1
invokevirtual com.mongodb.DBRef.getId:()Ljava/lang/Object;
invokespecial org.mongodb.morphia.Key.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack: org.mongodb.morphia.Key
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 4 1 ref Lcom/mongodb/DBRef;
Signature: <T:Ljava/lang/Object;>(Lcom/mongodb/DBRef;)Lorg/mongodb/morphia/Key<TT;>;
MethodParameters:
Name Flags
ref final
public com.mongodb.DBObject toDBObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/mongodb/DBObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual org.mongodb.morphia.mapping.Mapper.toDBObject:(Ljava/lang/Object;Ljava/util/Map;)Lcom/mongodb/DBObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 1 1 entity Ljava/lang/Object;
MethodParameters:
Name Flags
entity final
public com.mongodb.DBObject toDBObject(, java.util.Map<java.lang.Object, com.mongodb.DBObject>);
descriptor: (Ljava/lang/Object;Ljava/util/Map;)Lcom/mongodb/DBObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual org.mongodb.morphia.mapping.Mapper.toDBObject:(Ljava/lang/Object;Ljava/util/Map;Z)Lcom/mongodb/DBObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 1 1 entity Ljava/lang/Object;
0 1 2 involvedObjects Ljava/util/Map<Ljava/lang/Object;Lcom/mongodb/DBObject;>;
Signature: (Ljava/lang/Object;Ljava/util/Map<Ljava/lang/Object;Lcom/mongodb/DBObject;>;)Lcom/mongodb/DBObject;
MethodParameters:
Name Flags
entity final
involvedObjects final
public java.lang.Object toMongoObject(org.mongodb.morphia.mapping.MappedField, org.mongodb.morphia.mapping.MappedClass, java.lang.Object);
descriptor: (Lorg/mongodb/morphia/mapping/MappedField;Lorg/mongodb/morphia/mapping/MappedClass;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 3
astore 4
start local 4 3: aload 3
instanceof org.mongodb.morphia.query.Query
ifeq 6
4: aload 3
checkcast org.mongodb.morphia.query.QueryImpl
invokevirtual org.mongodb.morphia.query.QueryImpl.getQueryObject:()Lcom/mongodb/DBObject;
astore 4
5: goto 72
StackMap locals: java.lang.Object
StackMap stack:
6: aload 0
aload 1
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.isAssignable:(Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;)Z
ifne 7
aload 0
aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.isEntity:(Lorg/mongodb/morphia/mapping/MappedClass;)Z
ifeq 49
7: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.Iterable
ifeq 17
8: aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedField.getSubClass:()Ljava/lang/Class;
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
astore 5
start local 5 9: aload 5
ifnull 12
ldc Lorg/mongodb/morphia/Key;
aload 5
invokevirtual org.mongodb.morphia.mapping.MappedClass.getClazz:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 10
aload 5
invokevirtual org.mongodb.morphia.mapping.MappedClass.getEntityAnnotation:()Lorg/mongodb/morphia/annotations/Entity;
ifnull 12
10: StackMap locals: org.mongodb.morphia.mapping.MappedClass
StackMap stack:
aload 0
aload 1
aload 3
checkcast java.lang.Iterable
invokevirtual org.mongodb.morphia.mapping.Mapper.getDBRefs:(Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Iterable;)Ljava/lang/Object;
astore 4
11: goto 72
12: StackMap locals:
StackMap stack:
aload 1
ldc Lorg/mongodb/morphia/annotations/Reference;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifeq 15
13: aload 0
aload 1
aload 3
checkcast java.lang.Iterable
invokevirtual org.mongodb.morphia.mapping.Mapper.getDBRefs:(Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Iterable;)Ljava/lang/Object;
astore 4
14: goto 72
15: StackMap locals:
StackMap stack:
aload 0
aload 3
iconst_0
invokevirtual org.mongodb.morphia.mapping.Mapper.toMongoObject:(Ljava/lang/Object;Z)Ljava/lang/Object;
astore 4
end local 5 16: goto 72
17: StackMap locals:
StackMap stack:
aload 1
ifnull 42
18: aload 1
ldc Lorg/mongodb/morphia/annotations/Reference;
invokevirtual org.mongodb.morphia.mapping.MappedField.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.mongodb.morphia.annotations.Reference
astore 5
start local 5 19: aconst_null
astore 6
start local 6 20: aload 1
invokevirtual org.mongodb.morphia.mapping.MappedField.getType:()Ljava/lang/Class;
ldc Lorg/mongodb/morphia/Key;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 22
aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedField.getType:()Ljava/lang/Class;
invokevirtual org.mongodb.morphia.mapping.Mapper.isMapped:(Ljava/lang/Class;)Z
ifeq 22
21: aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedField.getType:()Ljava/lang/Class;
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getMappedIdField:()Lorg/mongodb/morphia/mapping/MappedField;
invokevirtual org.mongodb.morphia.mapping.MappedField.getType:()Ljava/lang/Class;
astore 6
22: StackMap locals: org.mongodb.morphia.annotations.Reference java.lang.Class
StackMap stack:
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 6
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
istore 7
start local 7 23: aload 5
ifnull 34
24: iload 7
ifne 42
25: aload 3
instanceof org.mongodb.morphia.Key
ifeq 26
aload 3
checkcast org.mongodb.morphia.Key
goto 27
StackMap locals: int
StackMap stack:
26: aload 0
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.getKey:(Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
StackMap locals:
StackMap stack: org.mongodb.morphia.Key
27: astore 8
start local 8 28: aload 8
ifnull 42
29: aload 5
invokeinterface org.mongodb.morphia.annotations.Reference.idOnly:()Z
ifeq 31
30: aload 0
aload 8
invokevirtual org.mongodb.morphia.mapping.Mapper.keyToId:(Lorg/mongodb/morphia/Key;)Ljava/lang/Object;
goto 32
31: StackMap locals: org.mongodb.morphia.Key
StackMap stack:
aload 0
aload 8
invokevirtual org.mongodb.morphia.mapping.Mapper.keyToDBRef:(Lorg/mongodb/morphia/Key;)Lcom/mongodb/DBRef;
32: StackMap locals:
StackMap stack: java.lang.Object
astore 4
end local 8 33: goto 42
StackMap locals:
StackMap stack:
34: aload 1
invokevirtual org.mongodb.morphia.mapping.MappedField.getType:()Ljava/lang/Class;
ldc Lorg/mongodb/morphia/Key;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 42
35: aload 0
iload 7
ifeq 37
36: aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedField.getSubClass:()Ljava/lang/Class;
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.createKey:(Ljava/lang/Class;Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
goto 39
37: StackMap locals:
StackMap stack: org.mongodb.morphia.mapping.Mapper
aload 3
instanceof org.mongodb.morphia.Key
ifeq 38
aload 3
checkcast org.mongodb.morphia.Key
goto 39
StackMap locals:
StackMap stack: org.mongodb.morphia.mapping.Mapper
38: aload 0
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.getKey:(Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
39: StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.MappedClass java.lang.Object java.lang.Object org.mongodb.morphia.annotations.Reference java.lang.Class int
StackMap stack: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Key
invokevirtual org.mongodb.morphia.mapping.Mapper.keyToDBRef:(Lorg/mongodb/morphia/Key;)Lcom/mongodb/DBRef;
astore 4
40: aload 4
aload 3
if_acmpne 42
41: new org.mongodb.morphia.query.ValidationException
dup
new java.lang.StringBuilder
dup
ldc "cannot map to Key<T> field: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.mongodb.morphia.query.ValidationException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 end local 5 42: StackMap locals:
StackMap stack:
aload 4
aload 3
if_acmpne 72
43: aload 0
aload 3
iconst_0
invokevirtual org.mongodb.morphia.mapping.Mapper.toMongoObject:(Ljava/lang/Object;Z)Ljava/lang/Object;
astore 4
44: goto 72
StackMap locals:
StackMap stack: java.lang.Exception
45: astore 5
start local 5 46: getstatic org.mongodb.morphia.mapping.Mapper.LOG:Lorg/mongodb/morphia/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Error converting value("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") to reference."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokeinterface org.mongodb.morphia.logging.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
47: aload 0
aload 3
iconst_0
invokevirtual org.mongodb.morphia.mapping.Mapper.toMongoObject:(Ljava/lang/Object;Z)Ljava/lang/Object;
astore 4
end local 5 48: goto 72
StackMap locals:
StackMap stack:
49: aload 1
ifnull 56
aload 1
ldc Lorg/mongodb/morphia/annotations/Serialized;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifeq 56
50: aload 3
aload 1
ldc Lorg/mongodb/morphia/annotations/Serialized;
invokevirtual org.mongodb.morphia.mapping.MappedField.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.mongodb.morphia.annotations.Serialized
invokeinterface org.mongodb.morphia.annotations.Serialized.disableCompression:()Z
ifeq 51
iconst_0
goto 52
StackMap locals:
StackMap stack: java.lang.Object
51: iconst_1
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.MappedClass java.lang.Object java.lang.Object
StackMap stack: java.lang.Object int
52: invokestatic org.mongodb.morphia.mapping.Serializer.serialize:(Ljava/lang/Object;Z)[B
astore 4
53: goto 72
StackMap locals:
StackMap stack: java.io.IOException
54: astore 5
start local 5 55: new java.lang.RuntimeException
dup
aload 5
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 56: StackMap locals:
StackMap stack:
aload 3
instanceof com.mongodb.DBObject
ifeq 59
57: aload 3
astore 4
58: goto 72
59: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 3
aload 4
aload 1
invokestatic org.mongodb.morphia.mapping.EmbeddedMapper.shouldSaveClassName:(Ljava/lang/Object;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/MappedField;)Z
invokevirtual org.mongodb.morphia.mapping.Mapper.toMongoObject:(Ljava/lang/Object;Z)Ljava/lang/Object;
astore 4
60: aload 4
instanceof com.mongodb.BasicDBList
ifeq 70
61: aload 4
checkcast com.mongodb.BasicDBList
astore 5
start local 5 62: aload 5
invokevirtual com.mongodb.BasicDBList.size:()I
ifeq 72
63: aload 0
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.extractFirstElement:(Ljava/lang/Object;)Ljava/lang/Object;
aload 5
iconst_0
invokevirtual com.mongodb.BasicDBList.get:(I)Ljava/lang/Object;
aload 1
invokestatic org.mongodb.morphia.mapping.EmbeddedMapper.shouldSaveClassName:(Ljava/lang/Object;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/MappedField;)Z
ifne 72
64: aload 5
invokevirtual com.mongodb.BasicDBList.iterator:()Ljava/util/Iterator;
astore 7
goto 68
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.MappedClass java.lang.Object java.lang.Object com.mongodb.BasicDBList top java.util.Iterator
StackMap stack:
65: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 6
start local 6 66: aload 6
instanceof com.mongodb.DBObject
ifeq 68
67: aload 6
checkcast com.mongodb.DBObject
ldc "className"
invokeinterface com.mongodb.DBObject.removeField:(Ljava/lang/String;)Ljava/lang/Object;
pop
end local 6 68: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 65
end local 5 69: goto 72
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.MappedClass java.lang.Object java.lang.Object
StackMap stack:
70: aload 4
instanceof com.mongodb.DBObject
ifeq 72
aload 3
aload 4
aload 1
invokestatic org.mongodb.morphia.mapping.EmbeddedMapper.shouldSaveClassName:(Ljava/lang/Object;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/MappedField;)Z
ifne 72
71: aload 4
checkcast com.mongodb.DBObject
ldc "className"
invokeinterface com.mongodb.DBObject.removeField:(Ljava/lang/String;)Ljava/lang/Object;
pop
72: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 73 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 73 1 mf Lorg/mongodb/morphia/mapping/MappedField;
0 73 2 mc Lorg/mongodb/morphia/mapping/MappedClass;
0 73 3 value Ljava/lang/Object;
3 73 4 mappedValue Ljava/lang/Object;
9 16 5 mapped Lorg/mongodb/morphia/mapping/MappedClass;
19 42 5 refAnn Lorg/mongodb/morphia/annotations/Reference;
20 42 6 idType Ljava/lang/Class<*>;
23 42 7 valueIsIdType Z
28 33 8 key Lorg/mongodb/morphia/Key<*>;
46 48 5 e Ljava/lang/Exception;
55 56 5 e Ljava/io/IOException;
62 69 5 list Lcom/mongodb/BasicDBList;
66 68 6 o Ljava/lang/Object;
Exception table:
from to target type
7 44 45 Class java.lang.Exception
50 53 54 Class java.io.IOException
MethodParameters:
Name Flags
mf final
mc final
value final
public java.lang.String updateCollection(org.mongodb.morphia.Key);
descriptor: (Lorg/mongodb/morphia/Key;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.mongodb.morphia.Key.getCollection:()Ljava/lang/String;
ifnonnull 2
aload 1
invokevirtual org.mongodb.morphia.Key.getType:()Ljava/lang/Class;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Key is invalid! "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.mongodb.morphia.Key.getCollection:()Ljava/lang/String;
ifnonnull 4
3: aload 1
aload 0
aload 1
invokevirtual org.mongodb.morphia.Key.getType:()Ljava/lang/Class;
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getCollectionName:()Ljava/lang/String;
invokevirtual org.mongodb.morphia.Key.setCollection:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.mongodb.morphia.Key.getCollection:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 5 1 key Lorg/mongodb/morphia/Key;
MethodParameters:
Name Flags
key final
public void updateKeyAndVersionInfo(org.mongodb.morphia.Datastore, com.mongodb.DBObject, org.mongodb.morphia.mapping.cache.EntityCache, java.lang.Object);
descriptor: (Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/cache/EntityCache;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 4
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
astore 5
start local 5 1: aload 5
invokevirtual org.mongodb.morphia.mapping.MappedClass.getIdField:()Ljava/lang/reflect/Field;
ifnull 16
aload 2
ifnull 16
aload 2
ldc "_id"
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 16
2: aload 5
invokevirtual org.mongodb.morphia.mapping.MappedClass.getMappedIdField:()Lorg/mongodb/morphia/mapping/MappedField;
astore 6
start local 6 3: aload 5
invokevirtual org.mongodb.morphia.mapping.MappedClass.getIdField:()Ljava/lang/reflect/Field;
aload 4
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 4: aload 0
aload 1
aload 6
aload 4
aload 3
aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.readMappedField:(Lorg/mongodb/morphia/Datastore;Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/cache/EntityCache;Lcom/mongodb/DBObject;)V
5: aload 7
ifnull 16
6: aload 6
aload 4
invokevirtual org.mongodb.morphia.mapping.MappedField.getFieldValue:(Ljava/lang/Object;)Ljava/lang/Object;
astore 8
start local 8 7: aload 8
aload 7
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 16
8: aload 6
aload 4
aload 7
invokevirtual org.mongodb.morphia.mapping.MappedField.setFieldValue:(Ljava/lang/Object;Ljava/lang/Object;)V
9: new java.lang.RuntimeException
dup
ldc "@Id mismatch: %s != %s for %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 7
aastore
dup
iconst_1
aload 8
aastore
dup
iconst_2
10: aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
11: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 end local 6 12: StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.Datastore com.mongodb.DBObject org.mongodb.morphia.mapping.cache.EntityCache java.lang.Object org.mongodb.morphia.mapping.MappedClass
StackMap stack: java.lang.Exception
astore 6
start local 6 13: aload 6
instanceof java.lang.RuntimeException
ifeq 15
14: aload 6
checkcast java.lang.RuntimeException
athrow
15: StackMap locals: java.lang.Exception
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Error setting @Id field after save/insert."
aload 6
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 16: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.mongodb.morphia.mapping.MappedClass.getMappedVersionField:()Lorg/mongodb/morphia/mapping/MappedField;
ifnull 18
aload 2
ifnull 18
17: aload 0
aload 1
aload 5
invokevirtual org.mongodb.morphia.mapping.MappedClass.getMappedVersionField:()Lorg/mongodb/morphia/mapping/MappedField;
aload 4
aload 3
aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.readMappedField:(Lorg/mongodb/morphia/Datastore;Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/cache/EntityCache;Lcom/mongodb/DBObject;)V
18: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 19 1 datastore Lorg/mongodb/morphia/Datastore;
0 19 2 dbObj Lcom/mongodb/DBObject;
0 19 3 cache Lorg/mongodb/morphia/mapping/cache/EntityCache;
0 19 4 entity Ljava/lang/Object;
1 19 5 mc Lorg/mongodb/morphia/mapping/MappedClass;
3 12 6 mf Lorg/mongodb/morphia/mapping/MappedField;
4 12 7 oldIdValue Ljava/lang/Object;
7 12 8 dbIdValue Ljava/lang/Object;
13 16 6 e Ljava/lang/Exception;
Exception table:
from to target type
2 12 12 Class java.lang.Exception
MethodParameters:
Name Flags
datastore final
dbObj final
cache final
entity final
protected org.mongodb.morphia.mapping.lazy.LazyProxyFactory getProxyFactory();
descriptor: ()Lorg/mongodb/morphia/mapping/lazy/LazyProxyFactory;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.Mapper.proxyFactory:Lorg/mongodb/morphia/mapping/lazy/LazyProxyFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/Mapper;
private void addConverters(org.mongodb.morphia.mapping.MappedClass);
descriptor: (Lorg/mongodb/morphia/mapping/MappedClass;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=10, args_size=2
start local 0 start local 1 0: aload 1
ldc Lorg/mongodb/morphia/annotations/Converters;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getAnnotations:(Ljava/lang/Class;)Ljava/util/List;
astore 2
start local 2 1: aload 2
ifnull 13
2: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedClass java.util.List top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
astore 3
start local 3 4: aload 3
checkcast org.mongodb.morphia.annotations.Converters
astore 5
start local 5 5: aload 5
ifnull 12
6: aload 5
invokeinterface org.mongodb.morphia.annotations.Converters.value:()[Ljava/lang/Class;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 11
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedClass java.util.List java.lang.annotation.Annotation java.util.Iterator org.mongodb.morphia.annotations.Converters top int int java.lang.Class[]
StackMap stack:
7: aload 9
iload 7
aaload
astore 6
start local 6 8: aload 0
invokevirtual org.mongodb.morphia.mapping.Mapper.getConverters:()Lorg/mongodb/morphia/converters/Converters;
aload 6
invokevirtual org.mongodb.morphia.converters.Converters.isRegistered:(Ljava/lang/Class;)Z
ifne 10
9: aload 0
invokevirtual org.mongodb.morphia.mapping.Mapper.getConverters:()Lorg/mongodb/morphia/converters/Converters;
aload 6
invokevirtual org.mongodb.morphia.converters.Converters.addConverter:(Ljava/lang/Class;)Lorg/mongodb/morphia/converters/TypeConverter;
pop
end local 6 10: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
iload 8
if_icmplt 7
end local 5 end local 3 12: StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedClass java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
13: StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedClass java.util.List
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 14 1 mc Lorg/mongodb/morphia/mapping/MappedClass;
1 14 2 convertersList Ljava/util/List<Ljava/lang/annotation/Annotation;>;
4 12 3 a Ljava/lang/annotation/Annotation;
5 12 5 c Lorg/mongodb/morphia/annotations/Converters;
8 10 6 clazz Ljava/lang/Class<+Lorg/mongodb/morphia/converters/TypeConverter;>;
MethodParameters:
Name Flags
mc final
private org.mongodb.morphia.mapping.MappedClass addMappedClass(org.mongodb.morphia.mapping.MappedClass, boolean);
descriptor: (Lorg/mongodb/morphia/mapping/MappedClass;Z)Lorg/mongodb/morphia/mapping/MappedClass;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.Mapper.addConverters:(Lorg/mongodb/morphia/mapping/MappedClass;)V
1: iload 2
ifeq 3
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedClass.isInterface:()Z
ifne 3
2: aload 1
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedClass.validate:(Lorg/mongodb/morphia/mapping/Mapper;)V
3: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.Mapper.mappedClasses:Ljava/util/Map;
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedClass.getClazz:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 0
getfield org.mongodb.morphia.mapping.Mapper.mappedClassesByCollection:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedClass.getCollectionName:()Ljava/lang/String;
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 3
start local 3 5: aload 3
ifnonnull 10
6: new java.util.concurrent.CopyOnWriteArraySet
dup
invokespecial java.util.concurrent.CopyOnWriteArraySet.<init>:()V
astore 3
7: aload 0
getfield org.mongodb.morphia.mapping.Mapper.mappedClassesByCollection:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedClass.getCollectionName:()Ljava/lang/String;
aload 3
invokevirtual java.util.concurrent.ConcurrentHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 4
start local 4 8: aload 4
ifnull 10
9: aload 4
astore 3
end local 4 10: StackMap locals: java.util.Set
StackMap stack:
aload 3
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 12 1 mc Lorg/mongodb/morphia/mapping/MappedClass;
0 12 2 validate Z
5 12 3 mcs Ljava/util/Set<Lorg/mongodb/morphia/mapping/MappedClass;>;
8 10 4 temp Ljava/util/Set<Lorg/mongodb/morphia/mapping/MappedClass;>;
MethodParameters:
Name Flags
mc final
validate final
private java.lang.Object (java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 1
aload 1
iconst_0
invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
checkcast java.lang.Iterable
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 3 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value final
private java.lang.Object getDBRefs(org.mongodb.morphia.mapping.MappedField, java.lang.Iterable);
descriptor: (Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Iterable;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 1
ldc Lorg/mongodb/morphia/annotations/Reference;
invokevirtual org.mongodb.morphia.mapping.MappedField.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.mongodb.morphia.annotations.Reference
astore 4
start local 4 2: aload 4
ifnull 3
aload 4
invokeinterface org.mongodb.morphia.annotations.Reference.idOnly:()Z
ifeq 3
iconst_1
goto 4
StackMap locals: java.util.List org.mongodb.morphia.annotations.Reference
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 5
start local 5 5: aload 2
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 13
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField java.lang.Iterable java.util.List org.mongodb.morphia.annotations.Reference int top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 6
start local 6 7: aload 6
instanceof org.mongodb.morphia.Key
ifeq 8
aload 6
checkcast org.mongodb.morphia.Key
goto 9
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField java.lang.Iterable java.util.List org.mongodb.morphia.annotations.Reference int java.lang.Object java.util.Iterator
StackMap stack:
8: aload 0
aload 6
invokevirtual org.mongodb.morphia.mapping.Mapper.getKey:(Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
StackMap locals:
StackMap stack: org.mongodb.morphia.Key
9: astore 8
start local 8 10: aload 3
iload 5
ifeq 11
aload 8
invokevirtual org.mongodb.morphia.Key.getId:()Ljava/lang/Object;
goto 12
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField java.lang.Iterable java.util.List org.mongodb.morphia.annotations.Reference int java.lang.Object java.util.Iterator org.mongodb.morphia.Key
StackMap stack: java.util.List
11: aload 0
aload 8
invokevirtual org.mongodb.morphia.mapping.Mapper.keyToDBRef:(Lorg/mongodb/morphia/Key;)Lcom/mongodb/DBRef;
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField java.lang.Iterable java.util.List org.mongodb.morphia.annotations.Reference int java.lang.Object java.util.Iterator org.mongodb.morphia.Key
StackMap stack: java.util.List java.lang.Object
12: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 6 13: StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField java.lang.Iterable java.util.List org.mongodb.morphia.annotations.Reference int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
14: aload 3
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 15 1 field Lorg/mongodb/morphia/mapping/MappedField;
0 15 2 value Ljava/lang/Iterable;
1 15 3 refs Ljava/util/List<Ljava/lang/Object;>;
2 15 4 annotation Lorg/mongodb/morphia/annotations/Reference;
5 15 5 idOnly Z
7 13 6 o Ljava/lang/Object;
10 13 8 key Lorg/mongodb/morphia/Key<*>;
MethodParameters:
Name Flags
field final
value final
private java.lang.Class<? extends java.lang.annotation.Annotation> getFieldAnnotation(org.mongodb.morphia.mapping.MappedField);
descriptor: (Lorg/mongodb/morphia/mapping/MappedField;)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iconst_4
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/mongodb/morphia/annotations/Property;
aastore
dup
iconst_1
ldc Lorg/mongodb/morphia/annotations/Embedded;
aastore
dup
iconst_2
ldc Lorg/mongodb/morphia/annotations/Serialized;
aastore
dup
iconst_3
ldc Lorg/mongodb/morphia/annotations/Reference;
aastore
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField java.lang.Class top int int java.lang.Class[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 1
aload 3
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifeq 6
4: aload 3
astore 2
5: goto 8
end local 3 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 2
8: StackMap locals: org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField java.lang.Class
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/Mapper;
0 9 1 mf Lorg/mongodb/morphia/mapping/MappedField;
1 9 2 annType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
3 6 3 testType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Lorg/mongodb/morphia/mapping/MappedField;)Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
MethodParameters:
Name Flags
mf final
private boolean isAssignable(org.mongodb.morphia.mapping.MappedField, java.lang.Object);
descriptor: (Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 4
1: aload 1
ldc Lorg/mongodb/morphia/annotations/Reference;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifne 3
ldc Lorg/mongodb/morphia/Key;
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedField.getType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 3
2: ldc Lcom/mongodb/DBRef;
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedField.getType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 3
aload 0
aload 1
aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.isMultiValued:(Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;)Z
ifeq 4
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 5 1 mf Lorg/mongodb/morphia/mapping/MappedField;
0 5 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
mf final
value final
private boolean isEntity(org.mongodb.morphia.mapping.MappedClass);
descriptor: (Lorg/mongodb/morphia/mapping/MappedClass;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedClass.getEntityAnnotation:()Lorg/mongodb/morphia/annotations/Entity;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 2 1 mc Lorg/mongodb/morphia/mapping/MappedClass;
MethodParameters:
Name Flags
mc final
private boolean isMultiValued(org.mongodb.morphia.mapping.MappedField, java.lang.Object);
descriptor: (Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.mongodb.morphia.mapping.MappedField.getSubClass:()Ljava/lang/Class;
astore 3
start local 3 1: aload 2
instanceof java.lang.Iterable
ifeq 5
2: aload 1
invokevirtual org.mongodb.morphia.mapping.MappedField.isMultipleValues:()Z
ifeq 5
3: ldc Lorg/mongodb/morphia/Key;
aload 3
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 4
ldc Lcom/mongodb/DBRef;
aload 3
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 5
4: StackMap locals: java.lang.Class
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 6 1 mf Lorg/mongodb/morphia/mapping/MappedField;
0 6 2 value Ljava/lang/Object;
1 6 3 subClass Ljava/lang/Class;
MethodParameters:
Name Flags
mf final
value final
private void readMappedField(org.mongodb.morphia.Datastore, org.mongodb.morphia.mapping.MappedField, java.lang.Object, org.mongodb.morphia.mapping.cache.EntityCache, com.mongodb.DBObject);
descriptor: (Lorg/mongodb/morphia/Datastore;Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/cache/EntityCache;Lcom/mongodb/DBObject;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
ldc Lorg/mongodb/morphia/annotations/Property;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifne 2
aload 2
ldc Lorg/mongodb/morphia/annotations/Serialized;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifne 2
1: aload 2
invokevirtual org.mongodb.morphia.mapping.MappedField.isTypeMongoCompatible:()Z
ifne 2
aload 0
invokevirtual org.mongodb.morphia.mapping.Mapper.getConverters:()Lorg/mongodb/morphia/converters/Converters;
aload 2
invokevirtual org.mongodb.morphia.converters.Converters.hasSimpleValueConverter:(Lorg/mongodb/morphia/mapping/MappedField;)Z
ifeq 4
2: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getValueMapper:()Lorg/mongodb/morphia/mapping/CustomMapper;
aload 1
aload 5
aload 2
aload 3
aload 4
aload 0
invokeinterface org.mongodb.morphia.mapping.CustomMapper.fromDBObject:(Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/cache/EntityCache;Lorg/mongodb/morphia/mapping/Mapper;)V
3: goto 11
StackMap locals:
StackMap stack:
4: aload 2
ldc Lorg/mongodb/morphia/annotations/Embedded;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifeq 7
5: aload 0
getfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getEmbeddedMapper:()Lorg/mongodb/morphia/mapping/CustomMapper;
aload 1
aload 5
aload 2
aload 3
aload 4
aload 0
invokeinterface org.mongodb.morphia.mapping.CustomMapper.fromDBObject:(Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/cache/EntityCache;Lorg/mongodb/morphia/mapping/Mapper;)V
6: goto 11
StackMap locals:
StackMap stack:
7: aload 2
ldc Lorg/mongodb/morphia/annotations/Reference;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifeq 10
8: aload 0
getfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getReferenceMapper:()Lorg/mongodb/morphia/mapping/CustomMapper;
aload 1
aload 5
aload 2
aload 3
aload 4
aload 0
invokeinterface org.mongodb.morphia.mapping.CustomMapper.fromDBObject:(Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/cache/EntityCache;Lorg/mongodb/morphia/mapping/Mapper;)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getDefaultMapper:()Lorg/mongodb/morphia/mapping/CustomMapper;
aload 1
aload 5
aload 2
aload 3
aload 4
aload 0
invokeinterface org.mongodb.morphia.mapping.CustomMapper.fromDBObject:(Lorg/mongodb/morphia/Datastore;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;Lorg/mongodb/morphia/mapping/cache/EntityCache;Lorg/mongodb/morphia/mapping/Mapper;)V
11: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 12 1 datastore Lorg/mongodb/morphia/Datastore;
0 12 2 mf Lorg/mongodb/morphia/mapping/MappedField;
0 12 3 entity Ljava/lang/Object;
0 12 4 cache Lorg/mongodb/morphia/mapping/cache/EntityCache;
0 12 5 dbObject Lcom/mongodb/DBObject;
MethodParameters:
Name Flags
datastore final
mf final
entity final
cache final
dbObject final
private void writeMappedField(com.mongodb.DBObject, org.mongodb.morphia.mapping.MappedField, , java.util.Map<java.lang.Object, com.mongodb.DBObject>);
descriptor: (Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;Ljava/util/Map;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ldc Lorg/mongodb/morphia/annotations/NotSaved;
invokevirtual org.mongodb.morphia.mapping.MappedField.hasAnnotation:(Ljava/lang/Class;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.getFieldAnnotation:(Lorg/mongodb/morphia/mapping/MappedField;)Ljava/lang/Class;
astore 5
start local 5 3: ldc Lorg/mongodb/morphia/annotations/Property;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 5
ldc Lorg/mongodb/morphia/annotations/Serialized;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 5
aload 2
invokevirtual org.mongodb.morphia.mapping.MappedField.isTypeMongoCompatible:()Z
ifne 5
4: aload 0
invokevirtual org.mongodb.morphia.mapping.Mapper.getConverters:()Lorg/mongodb/morphia/converters/Converters;
aload 2
invokevirtual org.mongodb.morphia.converters.Converters.hasSimpleValueConverter:(Lorg/mongodb/morphia/mapping/MappedField;)Z
ifne 5
aload 0
invokevirtual org.mongodb.morphia.mapping.Mapper.getConverters:()Lorg/mongodb/morphia/converters/Converters;
aload 2
aload 3
invokevirtual org.mongodb.morphia.mapping.MappedField.getFieldValue:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual org.mongodb.morphia.converters.Converters.hasSimpleValueConverter:(Ljava/lang/Object;)Z
ifeq 7
5: StackMap locals: java.lang.Class
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getValueMapper:()Lorg/mongodb/morphia/mapping/CustomMapper;
aload 3
aload 2
aload 1
aload 4
aload 0
invokeinterface org.mongodb.morphia.mapping.CustomMapper.toDBObject:(Ljava/lang/Object;Lorg/mongodb/morphia/mapping/MappedField;Lcom/mongodb/DBObject;Ljava/util/Map;Lorg/mongodb/morphia/mapping/Mapper;)V
6: goto 16
StackMap locals:
StackMap stack:
7: ldc Lorg/mongodb/morphia/annotations/Reference;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 10
8: aload 0
getfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getReferenceMapper:()Lorg/mongodb/morphia/mapping/CustomMapper;
aload 3
aload 2
aload 1
aload 4
aload 0
invokeinterface org.mongodb.morphia.mapping.CustomMapper.toDBObject:(Ljava/lang/Object;Lorg/mongodb/morphia/mapping/MappedField;Lcom/mongodb/DBObject;Ljava/util/Map;Lorg/mongodb/morphia/mapping/Mapper;)V
9: goto 16
StackMap locals:
StackMap stack:
10: ldc Lorg/mongodb/morphia/annotations/Embedded;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 13
11: aload 0
getfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getEmbeddedMapper:()Lorg/mongodb/morphia/mapping/CustomMapper;
aload 3
aload 2
aload 1
aload 4
aload 0
invokeinterface org.mongodb.morphia.mapping.CustomMapper.toDBObject:(Ljava/lang/Object;Lorg/mongodb/morphia/mapping/MappedField;Lcom/mongodb/DBObject;Ljava/util/Map;Lorg/mongodb/morphia/mapping/Mapper;)V
12: goto 16
13: StackMap locals:
StackMap stack:
getstatic org.mongodb.morphia.mapping.Mapper.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isDebugEnabled:()Z
ifeq 15
14: getstatic org.mongodb.morphia.mapping.Mapper.LOG:Lorg/mongodb/morphia/logging/Logger;
new java.lang.StringBuilder
dup
ldc "No annotation was found, using default mapper "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getDefaultMapper:()Lorg/mongodb/morphia/mapping/CustomMapper;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.mongodb.morphia.logging.Logger.debug:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.Mapper.opts:Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getDefaultMapper:()Lorg/mongodb/morphia/mapping/CustomMapper;
aload 3
aload 2
aload 1
aload 4
aload 0
invokeinterface org.mongodb.morphia.mapping.CustomMapper.toDBObject:(Ljava/lang/Object;Lorg/mongodb/morphia/mapping/MappedField;Lcom/mongodb/DBObject;Ljava/util/Map;Lorg/mongodb/morphia/mapping/Mapper;)V
16: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 17 1 dbObject Lcom/mongodb/DBObject;
0 17 2 mf Lorg/mongodb/morphia/mapping/MappedField;
0 17 3 entity Ljava/lang/Object;
0 17 4 involvedObjects Ljava/util/Map<Ljava/lang/Object;Lcom/mongodb/DBObject;>;
3 17 5 annType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;Ljava/util/Map<Ljava/lang/Object;Lcom/mongodb/DBObject;>;)V
MethodParameters:
Name Flags
dbObject final
mf final
entity final
involvedObjects final
<T> org.mongodb.morphia.Key<T> manualRefToKey(java.lang.String, );
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: new org.mongodb.morphia.Key
dup
aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.Mapper.getClassFromCollection:(Ljava/lang/String;)Ljava/lang/Class;
aload 1
aload 2
invokespecial org.mongodb.morphia.Key.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
StackMap locals:
StackMap stack: org.mongodb.morphia.Key
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 3 1 collection Ljava/lang/String;
0 3 2 id Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Object;)Lorg/mongodb/morphia/Key<TT;>;
MethodParameters:
Name Flags
collection final
id final
java.lang.Object keyToId(org.mongodb.morphia.Key);
descriptor: (Lorg/mongodb/morphia/Key;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 1
invokevirtual org.mongodb.morphia.Key.getId:()Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 3 1 key Lorg/mongodb/morphia/Key;
MethodParameters:
Name Flags
key final
java.lang.Object toMongoObject(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 3
start local 3 3: aload 3
invokevirtual java.lang.Class.isAnonymousClass:()Z
ifeq 5
aload 3
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isEnum:()Z
ifeq 5
4: aload 3
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 3
5: StackMap locals: java.lang.Class
StackMap stack:
aload 0
invokevirtual org.mongodb.morphia.mapping.Mapper.getConverters:()Lorg/mongodb/morphia/converters/Converters;
aload 3
aload 1
invokevirtual org.mongodb.morphia.converters.Converters.encode:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 6: aload 4
ifnonnull 9
7: getstatic org.mongodb.morphia.mapping.Mapper.LOG:Lorg/mongodb/morphia/logging/Logger;
new java.lang.StringBuilder
dup
ldc "converted "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " to null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.mongodb.morphia.logging.Logger.warning:(Ljava/lang/String;)V
8: aconst_null
areturn
9: StackMap locals: java.lang.Object
StackMap stack:
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 5
start local 5 10: aload 3
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
istore 6
start local 6 11: iload 6
ifne 13
ldc Ljava/util/Map;
aload 5
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 13
ldc Ljava/lang/Iterable;
aload 5
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 13
12: aload 4
areturn
13: StackMap locals: java.lang.Class int
StackMap stack:
iconst_1
istore 7
start local 7 14: iconst_0
istore 8
start local 8 15: aconst_null
astore 9
start local 9 16: aload 5
invokevirtual java.lang.Class.isArray:()Z
ifne 17
ldc Ljava/util/Map;
aload 5
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 17
ldc Ljava/lang/Iterable;
aload 5
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 24
17: StackMap locals: int int java.lang.Class
StackMap stack:
iconst_0
istore 7
18: aload 5
ldc Ljava/util/Map;
invokestatic org.mongodb.morphia.utils.ReflectionUtils.implementsInterface:(Ljava/lang/Class;Ljava/lang/Class;)Z
istore 8
19: aload 5
invokevirtual java.lang.Class.isArray:()Z
ifeq 20
aload 5
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
goto 23
StackMap locals:
StackMap stack:
20: aload 5
iload 8
ifeq 21
iconst_1
goto 22
StackMap locals:
StackMap stack: java.lang.Class
21: iconst_0
StackMap locals: org.mongodb.morphia.mapping.Mapper java.lang.Object int java.lang.Class java.lang.Object java.lang.Class int int int java.lang.Class
StackMap stack: java.lang.Class int
22: invokestatic org.mongodb.morphia.utils.ReflectionUtils.getParameterizedClass:(Ljava/lang/Class;I)Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
23: astore 9
24: StackMap locals:
StackMap stack:
iload 7
ifeq 29
aload 5
invokestatic org.mongodb.morphia.utils.ReflectionUtils.isPropertyType:(Ljava/lang/Class;)Z
ifne 29
25: aload 0
aload 4
invokevirtual org.mongodb.morphia.mapping.Mapper.toDBObject:(Ljava/lang/Object;)Lcom/mongodb/DBObject;
astore 10
start local 10 26: iload 2
ifne 28
27: aload 10
ldc "className"
invokeinterface com.mongodb.DBObject.removeField:(Ljava/lang/String;)Ljava/lang/Object;
pop
28: StackMap locals: com.mongodb.DBObject
StackMap stack:
aload 10
areturn
end local 10 29: StackMap locals:
StackMap stack:
aload 4
instanceof com.mongodb.DBObject
ifeq 31
30: aload 4
areturn
31: StackMap locals:
StackMap stack:
iload 8
ifeq 40
32: aload 9
invokestatic org.mongodb.morphia.utils.ReflectionUtils.isPropertyType:(Ljava/lang/Class;)Z
ifeq 34
33: aload 0
aload 4
invokevirtual org.mongodb.morphia.mapping.Mapper.toDBObject:(Ljava/lang/Object;)Lcom/mongodb/DBObject;
areturn
34: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 10
start local 10 35: aload 4
checkcast java.util.Map
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 12
goto 38
StackMap locals: org.mongodb.morphia.mapping.Mapper java.lang.Object int java.lang.Class java.lang.Object java.lang.Class int int int java.lang.Class java.util.HashMap top java.util.Iterator
StackMap stack:
36: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 11
start local 11 37: aload 10
aload 11
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aload 0
aload 11
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
iload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.toMongoObject:(Ljava/lang/Object;Z)Ljava/lang/Object;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 11 38: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 36
39: aload 10
areturn
end local 10 40: StackMap locals: org.mongodb.morphia.mapping.Mapper java.lang.Object int java.lang.Class java.lang.Object java.lang.Class int int int java.lang.Class
StackMap stack:
iload 7
ifne 54
aload 9
invokestatic org.mongodb.morphia.utils.ReflectionUtils.isPropertyType:(Ljava/lang/Class;)Z
ifne 54
41: new com.mongodb.BasicDBList
dup
invokespecial com.mongodb.BasicDBList.<init>:()V
astore 10
start local 10 42: aload 5
invokevirtual java.lang.Class.isArray:()Z
ifeq 49
43: aload 4
checkcast java.lang.Object[]
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 47
StackMap locals: org.mongodb.morphia.mapping.Mapper java.lang.Object int java.lang.Class java.lang.Object java.lang.Class int int int java.lang.Class java.util.List top int int java.lang.Object[]
StackMap stack:
44: aload 14
iload 12
aaload
astore 11
start local 11 45: aload 10
aload 0
aload 11
iload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.toMongoObject:(Ljava/lang/Object;Z)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 46: iinc 12 1
StackMap locals:
StackMap stack:
47: iload 12
iload 13
if_icmplt 44
48: goto 53
49: StackMap locals: org.mongodb.morphia.mapping.Mapper java.lang.Object int java.lang.Class java.lang.Object java.lang.Class int int int java.lang.Class java.util.List
StackMap stack:
aload 4
checkcast java.lang.Iterable
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 12
goto 52
StackMap locals: org.mongodb.morphia.mapping.Mapper java.lang.Object int java.lang.Class java.lang.Object java.lang.Class int int int java.lang.Class java.util.List top java.util.Iterator
StackMap stack:
50: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 11
start local 11 51: aload 10
aload 0
aload 11
iload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.toMongoObject:(Ljava/lang/Object;Z)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 52: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 50
53: StackMap locals: org.mongodb.morphia.mapping.Mapper java.lang.Object int java.lang.Class java.lang.Object java.lang.Class int int int java.lang.Class java.util.List
StackMap stack:
aload 10
areturn
end local 10 54: StackMap locals:
StackMap stack:
aload 4
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 55 1 javaObj Ljava/lang/Object;
0 55 2 includeClassName Z
3 55 3 origClass Ljava/lang/Class;
6 55 4 newObj Ljava/lang/Object;
10 55 5 type Ljava/lang/Class;
11 55 6 bSameType Z
14 55 7 isSingleValue Z
15 55 8 isMap Z
16 55 9 subType Ljava/lang/Class;
26 29 10 dbObj Lcom/mongodb/DBObject;
35 40 10 m Ljava/util/HashMap;
37 38 11 e Ljava/util/Map$Entry;
42 54 10 values Ljava/util/List<Ljava/lang/Object;>;
45 46 11 obj Ljava/lang/Object;
51 52 11 obj Ljava/lang/Object;
MethodParameters:
Name Flags
javaObj final
includeClassName final
com.mongodb.DBObject toDBObject(, java.util.Map<java.lang.Object, com.mongodb.DBObject>, boolean);
descriptor: (Ljava/lang/Object;Ljava/util/Map;Z)Lcom/mongodb/DBObject;
flags: (0x0000)
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.mongodb.BasicDBObject
dup
invokespecial com.mongodb.BasicDBObject.<init>:()V
astore 4
start local 4 1: aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
astore 5
start local 5 2: aload 5
invokevirtual org.mongodb.morphia.mapping.MappedClass.getEntityAnnotation:()Lorg/mongodb/morphia/annotations/Entity;
ifnull 3
aload 5
invokevirtual org.mongodb.morphia.mapping.MappedClass.getEntityAnnotation:()Lorg/mongodb/morphia/annotations/Entity;
invokeinterface org.mongodb.morphia.annotations.Entity.noClassnameStored:()Z
ifne 4
3: StackMap locals: com.mongodb.DBObject org.mongodb.morphia.mapping.MappedClass
StackMap stack:
aload 4
ldc "className"
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface com.mongodb.DBObject.put:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals:
StackMap stack:
iload 3
ifeq 6
5: aload 5
ldc Lorg/mongodb/morphia/annotations/PrePersist;
aload 1
aload 4
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedClass.callLifecycleMethods:(Ljava/lang/Class;Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)Lcom/mongodb/DBObject;
astore 4
6: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.mongodb.morphia.mapping.MappedClass.getPersistenceFields:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 12
StackMap locals: org.mongodb.morphia.mapping.Mapper java.lang.Object java.util.Map int com.mongodb.DBObject org.mongodb.morphia.mapping.MappedClass top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedField
astore 6
start local 6 8: aload 0
aload 4
aload 6
aload 1
aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.writeMappedField:(Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/MappedField;Ljava/lang/Object;Ljava/util/Map;)V
9: goto 12
StackMap locals: org.mongodb.morphia.mapping.Mapper java.lang.Object java.util.Map int com.mongodb.DBObject org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.MappedField java.util.Iterator
StackMap stack: java.lang.Exception
10: astore 8
start local 8 11: new org.mongodb.morphia.mapping.MappingException
dup
new java.lang.StringBuilder
dup
ldc "Error mapping field:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual org.mongodb.morphia.mapping.MappedField.getFullName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
invokespecial org.mongodb.morphia.mapping.MappingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 end local 6 12: StackMap locals: org.mongodb.morphia.mapping.Mapper java.lang.Object java.util.Map int com.mongodb.DBObject org.mongodb.morphia.mapping.MappedClass top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
13: aload 2
ifnull 15
14: aload 2
aload 1
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: StackMap locals: org.mongodb.morphia.mapping.Mapper java.lang.Object java.util.Map int com.mongodb.DBObject org.mongodb.morphia.mapping.MappedClass
StackMap stack:
iload 3
ifeq 17
16: aload 5
ldc Lorg/mongodb/morphia/annotations/PreSave;
aload 1
aload 4
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedClass.callLifecycleMethods:(Ljava/lang/Class;Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)Lcom/mongodb/DBObject;
pop
17: StackMap locals:
StackMap stack:
aload 4
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 18 1 entity Ljava/lang/Object;
0 18 2 involvedObjects Ljava/util/Map<Ljava/lang/Object;Lcom/mongodb/DBObject;>;
0 18 3 lifecycle Z
1 18 4 dbObject Lcom/mongodb/DBObject;
2 18 5 mc Lorg/mongodb/morphia/mapping/MappedClass;
8 12 6 mf Lorg/mongodb/morphia/mapping/MappedField;
11 12 8 e Ljava/lang/Exception;
Exception table:
from to target type
8 9 10 Class java.lang.Exception
Signature: (Ljava/lang/Object;Ljava/util/Map<Ljava/lang/Object;Lcom/mongodb/DBObject;>;Z)Lcom/mongodb/DBObject;
MethodParameters:
Name Flags
entity final
involvedObjects final
lifecycle final
<T> org.mongodb.morphia.Key<T> createKey(java.lang.Class<T>, java.io.Serializable);
descriptor: (Ljava/lang/Class;Ljava/io/Serializable;)Lorg/mongodb/morphia/Key;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.mongodb.morphia.Key
dup
aload 1
aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.Mapper.getCollectionName:(Ljava/lang/Object;)Ljava/lang/String;
aload 2
invokespecial org.mongodb.morphia.Key.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/Mapper;
0 1 1 clazz Ljava/lang/Class<TT;>;
0 1 2 id Ljava/io/Serializable;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/io/Serializable;)Lorg/mongodb/morphia/Key<TT;>;
MethodParameters:
Name Flags
clazz final
id final
<T> org.mongodb.morphia.Key<T> createKey(java.lang.Class<T>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Lorg/mongodb/morphia/Key;
flags: (0x0000)
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof java.io.Serializable
ifeq 2
1: aload 0
aload 1
aload 2
checkcast java.io.Serializable
invokevirtual org.mongodb.morphia.mapping.Mapper.createKey:(Ljava/lang/Class;Ljava/io/Serializable;)Lorg/mongodb/morphia/Key;
areturn
2: StackMap locals:
StackMap stack:
new org.bson.BasicBSONEncoder
dup
invokespecial org.bson.BasicBSONEncoder.<init>:()V
astore 3
start local 3 3: new org.mongodb.morphia.Key
dup
aload 1
aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.Mapper.getCollectionName:(Ljava/lang/Object;)Ljava/lang/String;
aload 3
aload 0
aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.toDBObject:(Ljava/lang/Object;)Lcom/mongodb/DBObject;
invokeinterface org.bson.BSONEncoder.encode:(Lorg/bson/BSONObject;)[B
invokespecial org.mongodb.morphia.Key.<init>:(Ljava/lang/Class;Ljava/lang/String;[B)V
areturn
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/Mapper;
0 4 1 clazz Ljava/lang/Class<TT;>;
0 4 2 id Ljava/lang/Object;
3 4 3 enc Lorg/bson/BSONEncoder;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/Object;)Lorg/mongodb/morphia/Key<TT;>;
MethodParameters:
Name Flags
clazz final
id final
}
SourceFile: "Mapper.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map