public class org.mongodb.morphia.mapping.MappedClass
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.mongodb.morphia.mapping.MappedClass
super_class: java.lang.Object
{
private static final org.mongodb.morphia.logging.Logger LOG;
descriptor: Lorg/mongodb/morphia/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> INTERESTING_ANNOTATIONS;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
private static final java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> LIFECYCLE_ANNOTATIONS;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
private final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.util.List<java.lang.annotation.Annotation>> foundAnnotations;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/util/List<Ljava/lang/annotation/Annotation;>;>;
private final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.util.List<org.mongodb.morphia.mapping.MappedClass$ClassMethodPair>> lifecycleMethods;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedClass$ClassMethodPair;>;>;
private final java.util.List<org.mongodb.morphia.mapping.MappedField> persistenceFields;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedField;>;
private final java.lang.Class<?> clazz;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private java.lang.reflect.Field idField;
descriptor: Ljava/lang/reflect/Field;
flags: (0x0002) ACC_PRIVATE
private org.mongodb.morphia.annotations.Entity entityAn;
descriptor: Lorg/mongodb/morphia/annotations/Entity;
flags: (0x0002) ACC_PRIVATE
private org.mongodb.morphia.annotations.Embedded embeddedAn;
descriptor: Lorg/mongodb/morphia/annotations/Embedded;
flags: (0x0002) ACC_PRIVATE
private org.mongodb.morphia.mapping.MapperOptions mapperOptions;
descriptor: Lorg/mongodb/morphia/mapping/MapperOptions;
flags: (0x0002) ACC_PRIVATE
private org.mongodb.morphia.mapping.MappedClass superClass;
descriptor: Lorg/mongodb/morphia/mapping/MappedClass;
flags: (0x0002) ACC_PRIVATE
private java.util.List<org.mongodb.morphia.mapping.MappedClass> interfaces;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedClass;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Lorg/mongodb/morphia/mapping/MappedClass;
invokestatic org.mongodb.morphia.logging.MorphiaLoggerFactory.get:(Ljava/lang/Class;)Lorg/mongodb/morphia/logging/Logger;
putstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putstatic org.mongodb.morphia.mapping.MappedClass.INTERESTING_ANNOTATIONS:Ljava/util/List;
2: iconst_5
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/mongodb/morphia/annotations/PrePersist;
aastore
dup
iconst_1
3: ldc Lorg/mongodb/morphia/annotations/PreSave;
aastore
dup
iconst_2
4: ldc Lorg/mongodb/morphia/annotations/PreLoad;
aastore
dup
iconst_3
5: ldc Lorg/mongodb/morphia/annotations/PostPersist;
aastore
dup
iconst_4
6: ldc Lorg/mongodb/morphia/annotations/PostLoad;
aastore
7: invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
putstatic org.mongodb.morphia.mapping.MappedClass.LIFECYCLE_ANNOTATIONS:Ljava/util/List;
8: getstatic org.mongodb.morphia.mapping.MappedClass.INTERESTING_ANNOTATIONS:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Embedded;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: getstatic org.mongodb.morphia.mapping.MappedClass.INTERESTING_ANNOTATIONS:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Entity;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: getstatic org.mongodb.morphia.mapping.MappedClass.INTERESTING_ANNOTATIONS:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/EntityListeners;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: getstatic org.mongodb.morphia.mapping.MappedClass.INTERESTING_ANNOTATIONS:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Version;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: getstatic org.mongodb.morphia.mapping.MappedClass.INTERESTING_ANNOTATIONS:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Converters;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: getstatic org.mongodb.morphia.mapping.MappedClass.INTERESTING_ANNOTATIONS:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Indexes;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: getstatic org.mongodb.morphia.mapping.MappedClass.INTERESTING_ANNOTATIONS:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Validation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: getstatic org.mongodb.morphia.mapping.MappedClass.INTERESTING_ANNOTATIONS:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/Field;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: getstatic org.mongodb.morphia.mapping.MappedClass.INTERESTING_ANNOTATIONS:Ljava/util/List;
ldc Lorg/mongodb/morphia/annotations/IndexOptions;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.Class<?>, org.mongodb.morphia.mapping.Mapper);
descriptor: (Ljava/lang/Class;Lorg/mongodb/morphia/mapping/Mapper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.mongodb.morphia.mapping.MappedClass.foundAnnotations:Ljava/util/Map;
3: aload 0
4: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.mongodb.morphia.mapping.MappedClass.lifecycleMethods:Ljava/util/Map;
5: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.mongodb.morphia.mapping.MappedClass.persistenceFields:Ljava/util/List;
6: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.mongodb.morphia.mapping.MappedClass.interfaces:Ljava/util/List;
7: aload 0
aload 1
putfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
8: aload 0
aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.getOptions:()Lorg/mongodb/morphia/mapping/MapperOptions;
putfield org.mongodb.morphia.mapping.MappedClass.mapperOptions:Lorg/mongodb/morphia/mapping/MapperOptions;
9: getstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isTraceEnabled:()Z
ifeq 11
10: getstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Creating MappedClass for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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.trace:(Ljava/lang/String;)V
11: StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.Class org.mongodb.morphia.mapping.Mapper
StackMap stack:
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedClass.basicValidate:()V
12: aload 0
aload 2
invokevirtual org.mongodb.morphia.mapping.MappedClass.discover:(Lorg/mongodb/morphia/mapping/Mapper;)V
13: getstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isDebugEnabled:()Z
ifeq 15
14: getstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
new java.lang.StringBuilder
dup
ldc "MappedClass done: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedClass.toString:()Ljava/lang/String;
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.debug:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 16 1 clazz Ljava/lang/Class<*>;
0 16 2 mapper Lorg/mongodb/morphia/mapping/Mapper;
Signature: (Ljava/lang/Class<*>;Lorg/mongodb/morphia/mapping/Mapper;)V
MethodParameters:
Name Flags
clazz final
mapper final
public org.mongodb.morphia.mapping.MappedClass getSuperClass();
descriptor: ()Lorg/mongodb/morphia/mapping/MappedClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.superClass:Lorg/mongodb/morphia/mapping/MappedClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
public boolean isInterface();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.isInterface:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
public boolean isAbstract();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
public static boolean isSupportedType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.mongodb.morphia.utils.ReflectionUtils.isPropertyType:(Ljava/lang/Class;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isArray:()Z
ifne 3
ldc Ljava/util/Map;
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 3
ldc Ljava/lang/Iterable;
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 10
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isArray:()Z
ifeq 6
4: aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 1
start local 1 5: goto 7
end local 1 6: StackMap locals:
StackMap stack:
aload 0
invokestatic org.mongodb.morphia.utils.ReflectionUtils.getParameterizedClass:(Ljava/lang/Class;)Ljava/lang/Class;
astore 1
start local 1 7: StackMap locals: java.lang.Class
StackMap stack:
aload 1
ifnull 9
aload 1
ldc Ljava/lang/Object;
if_acmpeq 9
aload 1
invokestatic org.mongodb.morphia.utils.ReflectionUtils.isPropertyType:(Ljava/lang/Class;)Z
ifne 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 10: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 clazz Ljava/lang/Class<*>;
5 6 1 subType Ljava/lang/Class<*>;
7 10 1 subType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz final
public static void addInterestingAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.mongodb.morphia.mapping.MappedClass.INTERESTING_ANNOTATIONS:Ljava/util/List;
aload 0
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 annotation Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)V
MethodParameters:
Name Flags
annotation final
public void addAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.annotation.Annotation);
descriptor: (Ljava/lang/Class;Ljava/lang/annotation/Annotation;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 1
ifnonnull 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.foundAnnotations:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 4
3: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.foundAnnotations:Ljava/util/Map;
aload 1
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.foundAnnotations:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
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/MappedClass;
0 6 1 clazz Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 6 2 ann Ljava/lang/annotation/Annotation;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;)V
MethodParameters:
Name Flags
clazz final
ann final
public com.mongodb.DBObject callLifecycleMethods(java.lang.Class<? extends java.lang.annotation.Annotation>, , com.mongodb.DBObject, org.mongodb.morphia.mapping.Mapper);
descriptor: (Ljava/lang/Class;Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)Lcom/mongodb/DBObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedClass.getLifecycleMethods:(Ljava/lang/Class;)Ljava/util/List;
astore 5
start local 5 1: aload 3
astore 6
start local 6 2: aload 5
ifnull 36
3: new java.util.HashMap
dup
aload 5
invokeinterface java.util.List.size:()I
i2d
ldc 1.3
dmul
d2i
invokespecial java.util.HashMap.<init>:(I)V
astore 8
start local 8 4: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 7
StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.Class java.lang.Object com.mongodb.DBObject org.mongodb.morphia.mapping.Mapper java.util.List com.mongodb.DBObject top java.util.HashMap top java.util.Iterator
StackMap stack:
5: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedClass$ClassMethodPair
astore 9
start local 9 6: aload 8
aload 9
getfield org.mongodb.morphia.mapping.MappedClass$ClassMethodPair.clazz:Ljava/lang/Class;
aconst_null
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 7: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 8
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 12
StackMap locals:
StackMap stack:
9: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 9
start local 9 10: aload 9
ifnull 12
11: aload 8
aload 9
aload 0
aload 9
aload 4
invokevirtual org.mongodb.morphia.mapping.MappedClass.getOrCreateInstance:(Ljava/lang/Class;Lorg/mongodb/morphia/mapping/Mapper;)Ljava/lang/Object;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 12: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
13: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 35
StackMap locals:
StackMap stack:
14: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedClass$ClassMethodPair
astore 9
start local 9 15: aload 9
getfield org.mongodb.morphia.mapping.MappedClass$ClassMethodPair.method:Ljava/lang/reflect/Method;
astore 11
start local 11 16: aload 8
aload 9
getfield org.mongodb.morphia.mapping.MappedClass$ClassMethodPair.clazz:Ljava/lang/Class;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 12
start local 12 17: aload 11
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
18: getstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isDebugEnabled:()Z
ifeq 20
19: getstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
ldc "Calling lifecycle method(@%s %s) on %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 11
aastore
dup
iconst_2
aload 12
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.mongodb.morphia.logging.Logger.debug:(Ljava/lang/String;)V
20: StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.Class java.lang.Object com.mongodb.DBObject org.mongodb.morphia.mapping.Mapper java.util.List com.mongodb.DBObject top java.util.HashMap org.mongodb.morphia.mapping.MappedClass$ClassMethodPair java.util.Iterator java.lang.reflect.Method java.lang.Object
StackMap stack:
aload 12
ifnonnull 26
21: aload 11
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
arraylength
ifne 24
22: aload 11
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 23: goto 33
end local 7 24: StackMap locals:
StackMap stack:
aload 11
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 25: goto 33
end local 7 StackMap locals:
StackMap stack:
26: aload 11
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
arraylength
ifne 29
27: aload 11
aload 12
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 28: goto 33
end local 7 StackMap locals:
StackMap stack:
29: aload 11
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
arraylength
iconst_1
if_icmpne 32
30: aload 11
aload 12
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 31: goto 33
end local 7 32: StackMap locals:
StackMap stack:
aload 11
aload 12
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 6
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 33: StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.Class java.lang.Object com.mongodb.DBObject org.mongodb.morphia.mapping.Mapper java.util.List com.mongodb.DBObject java.lang.Object java.util.HashMap org.mongodb.morphia.mapping.MappedClass$ClassMethodPair java.util.Iterator java.lang.reflect.Method java.lang.Object
StackMap stack:
aload 7
ifnull 35
34: aload 7
checkcast com.mongodb.DBObject
astore 6
end local 12 end local 11 end local 9 end local 7 35: StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.Class java.lang.Object com.mongodb.DBObject org.mongodb.morphia.mapping.Mapper java.util.List com.mongodb.DBObject top java.util.HashMap top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
end local 8 36: StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.Class java.lang.Object com.mongodb.DBObject org.mongodb.morphia.mapping.Mapper java.util.List com.mongodb.DBObject
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.mongodb.morphia.mapping.MappedClass.callGlobalInterceptors:(Ljava/lang/Class;Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)V
37: goto 42
StackMap locals:
StackMap stack: java.lang.IllegalAccessException
38: astore 7
start local 7 39: new java.lang.RuntimeException
dup
aload 7
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 40: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 7
start local 7 41: new java.lang.RuntimeException
dup
aload 7
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 42: StackMap locals:
StackMap stack:
aload 6
areturn
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 43 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 43 1 event Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 43 2 entity Ljava/lang/Object;
0 43 3 dbObj Lcom/mongodb/DBObject;
0 43 4 mapper Lorg/mongodb/morphia/mapping/Mapper;
1 43 5 methodPairs Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedClass$ClassMethodPair;>;
2 43 6 retDbObj Lcom/mongodb/DBObject;
23 24 7 tempObj Ljava/lang/Object;
25 26 7 tempObj Ljava/lang/Object;
28 29 7 tempObj Ljava/lang/Object;
31 32 7 tempObj Ljava/lang/Object;
33 35 7 tempObj Ljava/lang/Object;
4 36 8 toCall Ljava/util/HashMap<Ljava/lang/Class<*>;Ljava/lang/Object;>;
6 7 9 cm Lorg/mongodb/morphia/mapping/MappedClass$ClassMethodPair;
10 12 9 c Ljava/lang/Class<*>;
15 35 9 cm Lorg/mongodb/morphia/mapping/MappedClass$ClassMethodPair;
16 35 11 method Ljava/lang/reflect/Method;
17 35 12 inst Ljava/lang/Object;
39 40 7 e Ljava/lang/IllegalAccessException;
41 42 7 e Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
2 37 38 Class java.lang.IllegalAccessException
2 37 40 Class java.lang.reflect.InvocationTargetException
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)Lcom/mongodb/DBObject;
MethodParameters:
Name Flags
event final
entity final
dbObj final
mapper final
public boolean containsJavaFieldName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedClass.getMappedField:(Ljava/lang/String;)Lorg/mongodb/morphia/mapping/MappedField;
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/MappedClass;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name final
public java.lang.annotation.Annotation getAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.foundAnnotations:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 3
StackMap locals: java.util.List
StackMap stack:
2: aconst_null
goto 4
StackMap locals:
StackMap stack:
3: aload 2
aload 2
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
StackMap locals:
StackMap stack: java.lang.annotation.Annotation
4: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 5 1 clazz Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
1 5 2 found Ljava/util/List<Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/lang/annotation/Annotation;
MethodParameters:
Name Flags
clazz final
public <T> java.util.List<T> getAnnotations(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)Ljava/util/List;
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.MappedClass.foundAnnotations:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 1 1 clazz Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/List<TT;>;
MethodParameters:
Name Flags
clazz final
public java.lang.Class<?> getClazz();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
Signature: ()Ljava/lang/Class<*>;
public java.lang.String getCollectionName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.entityAn:Lorg/mongodb/morphia/annotations/Entity;
ifnull 1
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.entityAn:Lorg/mongodb/morphia/annotations/Entity;
invokeinterface org.mongodb.morphia.annotations.Entity.value:()Ljava/lang/String;
ldc "."
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
1: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.mapperOptions:Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.isUseLowerCaseCollectionNames:()Z
ifeq 2
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
goto 3
StackMap locals:
StackMap stack:
2: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.entityAn:Lorg/mongodb/morphia/annotations/Entity;
invokeinterface org.mongodb.morphia.annotations.Entity.value:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/mongodb/morphia/mapping/MappedClass;
public org.mongodb.morphia.annotations.Embedded getEmbeddedAnnotation();
descriptor: ()Lorg/mongodb/morphia/annotations/Embedded;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.embeddedAn:Lorg/mongodb/morphia/annotations/Embedded;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
public org.mongodb.morphia.annotations.Entity getEntityAnnotation();
descriptor: ()Lorg/mongodb/morphia/annotations/Entity;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.entityAn:Lorg/mongodb/morphia/annotations/Entity;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
public java.util.List<org.mongodb.morphia.mapping.MappedField> getFieldsAnnotatedWith(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)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
getfield org.mongodb.morphia.mapping.MappedClass.persistenceFields:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.Class 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.MappedField
astore 3
start local 3 3: aload 3
invokevirtual org.mongodb.morphia.mapping.MappedField.getAnnotations:()Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)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/MappedClass;
0 7 1 clazz Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
1 7 2 results Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedField;>;
3 5 3 mf Lorg/mongodb/morphia/mapping/MappedField;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedField;>;
MethodParameters:
Name Flags
clazz final
public java.lang.annotation.Annotation getFirstAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.foundAnnotations:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 3
StackMap locals: java.util.List
StackMap stack:
2: aconst_null
goto 4
StackMap locals:
StackMap stack:
3: aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
StackMap locals:
StackMap stack: java.lang.annotation.Annotation
4: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 5 1 clazz Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
1 5 2 found Ljava/util/List<Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/lang/annotation/Annotation;
MethodParameters:
Name Flags
clazz final
public java.lang.reflect.Field getIdField();
descriptor: ()Ljava/lang/reflect/Field;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.idField:Ljava/lang/reflect/Field;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
public java.util.List<org.mongodb.morphia.mapping.MappedClass$ClassMethodPair> getLifecycleMethods(java.lang.Class<java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)Ljava/util/List;
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.MappedClass.lifecycleMethods:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 1 1 clazz Ljava/lang/Class<Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<Ljava/lang/annotation/Annotation;>;)Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedClass$ClassMethodPair;>;
MethodParameters:
Name Flags
clazz final
public org.mongodb.morphia.mapping.MappedField getMappedField(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/mongodb/morphia/mapping/MappedField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.persistenceFields:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedField
astore 2
start local 2 2: aload 2
invokevirtual org.mongodb.morphia.mapping.MappedField.getLoadNames:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.String org.mongodb.morphia.mapping.MappedField java.util.Iterator top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: aload 1
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 2
areturn
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 7: StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.String top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
8: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 9 1 storedName Ljava/lang/String;
2 7 2 mf Lorg/mongodb/morphia/mapping/MappedField;
4 6 4 n Ljava/lang/String;
MethodParameters:
Name Flags
storedName final
public org.mongodb.morphia.mapping.MappedField getMappedFieldByJavaField(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/mongodb/morphia/mapping/MappedField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.persistenceFields:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedField
astore 2
start local 2 2: aload 1
aload 2
invokevirtual org.mongodb.morphia.mapping.MappedField.getJavaFieldName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 6 1 name Ljava/lang/String;
2 4 2 mf Lorg/mongodb/morphia/mapping/MappedField;
MethodParameters:
Name Flags
name final
public org.mongodb.morphia.mapping.MappedField getMappedIdField();
descriptor: ()Lorg/mongodb/morphia/mapping/MappedField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc Lorg/mongodb/morphia/annotations/Id;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getFieldsAnnotatedWith:(Ljava/lang/Class;)Ljava/util/List;
astore 1
start local 1 1: aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
aconst_null
goto 3
StackMap locals: java.util.List
StackMap stack:
2: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedField
StackMap locals:
StackMap stack: org.mongodb.morphia.mapping.MappedField
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/mapping/MappedClass;
1 4 1 fields Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedField;>;
public org.mongodb.morphia.mapping.MappedField getMappedVersionField();
descriptor: ()Lorg/mongodb/morphia/mapping/MappedField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc Lorg/mongodb/morphia/annotations/Version;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getFieldsAnnotatedWith:(Ljava/lang/Class;)Ljava/util/List;
astore 1
start local 1 1: aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
aconst_null
goto 3
StackMap locals: java.util.List
StackMap stack:
2: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedField
StackMap locals:
StackMap stack: org.mongodb.morphia.mapping.MappedField
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/mapping/MappedClass;
1 4 1 fields Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedField;>;
public java.util.List<org.mongodb.morphia.mapping.MappedField> getPersistenceFields();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.persistenceFields:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
Signature: ()Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedField;>;
public java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.util.List<java.lang.annotation.Annotation>> getRelevantAnnotations();
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.MappedClass.foundAnnotations:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
Signature: ()Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/util/List<Ljava/lang/annotation/Annotation;>;>;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.Object.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.mongodb.morphia.mapping.MappedClass
astore 2
start local 2 5: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
aload 2
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 6 1 o Ljava/lang/Object;
5 6 2 that Lorg/mongodb/morphia/mapping/MappedClass;
MethodParameters:
Name Flags
o final
boolean isSubType(org.mongodb.morphia.mapping.MappedClass);
descriptor: (Lorg/mongodb/morphia/mapping/MappedClass;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.superClass:Lorg/mongodb/morphia/mapping/MappedClass;
invokevirtual org.mongodb.morphia.mapping.MappedClass.equals:(Ljava/lang/Object;)Z
ifne 1
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.interfaces:Ljava/util/List;
aload 1
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 2 1 mc Lorg/mongodb/morphia/mapping/MappedClass;
MethodParameters:
Name Flags
mc final
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "MappedClass - kind:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedClass.getCollectionName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.mongodb.morphia.mapping.MappedClass.getClazz:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " fields:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.persistenceFields:Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/mapping/MappedClass;
public void update();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
aload 0
ldc Lorg/mongodb/morphia/annotations/Embedded;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.mongodb.morphia.annotations.Embedded
putfield org.mongodb.morphia.mapping.MappedClass.embeddedAn:Lorg/mongodb/morphia/annotations/Embedded;
1: aload 0
aload 0
ldc Lorg/mongodb/morphia/annotations/Entity;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getFirstAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.mongodb.morphia.annotations.Entity
putfield org.mongodb.morphia.mapping.MappedClass.entityAn:Lorg/mongodb/morphia/annotations/Entity;
2: aload 0
ldc Lorg/mongodb/morphia/annotations/Id;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getFieldsAnnotatedWith:(Ljava/lang/Class;)Ljava/util/List;
astore 1
start local 1 3: aload 1
ifnull 5
aload 1
invokeinterface java.util.List.isEmpty:()Z
ifne 5
4: aload 0
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.mongodb.morphia.mapping.MappedField
invokevirtual org.mongodb.morphia.mapping.MappedField.getField:()Ljava/lang/reflect/Field;
putfield org.mongodb.morphia.mapping.MappedClass.idField:Ljava/lang/reflect/Field;
5: StackMap locals: java.util.List
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/mongodb/morphia/mapping/MappedClass;
3 6 1 fields Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedField;>;
public void validate(org.mongodb.morphia.mapping.Mapper);
descriptor: (Lorg/mongodb/morphia/mapping/Mapper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.mongodb.morphia.mapping.validation.MappingValidator
dup
aload 1
invokevirtual org.mongodb.morphia.mapping.Mapper.getOptions:()Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getObjectFactory:()Lorg/mongodb/morphia/ObjectFactory;
invokespecial org.mongodb.morphia.mapping.validation.MappingValidator.<init>:(Lorg/mongodb/morphia/ObjectFactory;)V
aload 1
aload 0
invokevirtual org.mongodb.morphia.mapping.validation.MappingValidator.validate:(Lorg/mongodb/morphia/mapping/Mapper;Lorg/mongodb/morphia/mapping/MappedClass;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 2 1 mapper Lorg/mongodb/morphia/mapping/Mapper;
MethodParameters:
Name Flags
mapper final
protected void basicValidate();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
istore 1
start local 1 1: iload 1
ifne 3
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.isMemberClass:()Z
ifeq 3
2: new org.mongodb.morphia.mapping.MappingException
dup
new java.lang.StringBuilder
dup
ldc "Cannot use non-static inner class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ". Please make static."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.mongodb.morphia.mapping.MappingException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/mapping/MappedClass;
1 4 1 isStatic Z
protected void discover(org.mongodb.morphia.mapping.Mapper);
descriptor: (Lorg/mongodb/morphia/mapping/Mapper;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: getstatic org.mongodb.morphia.mapping.MappedClass.INTERESTING_ANNOTATIONS:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 2: aload 0
aload 2
invokevirtual org.mongodb.morphia.mapping.MappedClass.addAnnotation:(Ljava/lang/Class;)V
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 2
start local 2 5: aload 2
ifnull 7
aload 2
ldc Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 7
6: aload 0
aload 1
aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
putfield org.mongodb.morphia.mapping.MappedClass.superClass:Lorg/mongodb/morphia/mapping/MappedClass;
7: StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 11
StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class top int int java.lang.Class[]
StackMap stack:
8: aload 6
iload 4
aaload
astore 3
start local 3 9: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.interfaces:Ljava/util/List;
aload 1
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 10: iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 5
if_icmplt 8
12: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 13: aload 3
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: aload 0
ldc Lorg/mongodb/morphia/annotations/EntityListeners;
invokevirtual org.mongodb.morphia.mapping.MappedClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.mongodb.morphia.annotations.EntityListeners
astore 4
start local 4 15: aload 4
ifnull 17
aload 4
invokeinterface org.mongodb.morphia.annotations.EntityListeners.value:()[Ljava/lang/Class;
arraylength
ifeq 17
16: aload 3
aload 4
invokeinterface org.mongodb.morphia.annotations.EntityListeners.value:()[Ljava/lang/Class;
invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
17: StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List org.mongodb.morphia.annotations.EntityListeners
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 29
StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List org.mongodb.morphia.annotations.EntityListeners top java.util.Iterator
StackMap stack:
18: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 5
start local 5 19: aload 5
invokestatic org.mongodb.morphia.utils.ReflectionUtils.getDeclaredAndInheritedMethods:(Ljava/lang/Class;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 28
StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List org.mongodb.morphia.annotations.EntityListeners java.lang.Class java.util.Iterator top java.util.Iterator
StackMap stack:
20: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 7
start local 7 21: getstatic org.mongodb.morphia.mapping.MappedClass.LIFECYCLE_ANNOTATIONS:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 27
StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List org.mongodb.morphia.annotations.EntityListeners java.lang.Class java.util.Iterator java.lang.reflect.Method java.util.Iterator top java.util.Iterator
StackMap stack:
22: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 9
start local 9 23: aload 7
aload 9
invokevirtual java.lang.reflect.Method.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 27
24: aload 0
aload 9
aload 7
aload 5
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 25
aconst_null
goto 26
StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List org.mongodb.morphia.annotations.EntityListeners java.lang.Class java.util.Iterator java.lang.reflect.Method java.util.Iterator java.lang.Class java.util.Iterator
StackMap stack: org.mongodb.morphia.mapping.MappedClass java.lang.Class java.lang.reflect.Method
25: aload 5
StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List org.mongodb.morphia.annotations.EntityListeners java.lang.Class java.util.Iterator java.lang.reflect.Method java.util.Iterator java.lang.Class java.util.Iterator
StackMap stack: org.mongodb.morphia.mapping.MappedClass java.lang.Class java.lang.reflect.Method java.lang.Class
26: invokevirtual org.mongodb.morphia.mapping.MappedClass.addLifecycleEventMethod:(Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/Class;)V
end local 9 27: StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List org.mongodb.morphia.annotations.EntityListeners java.lang.Class java.util.Iterator java.lang.reflect.Method java.util.Iterator top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
end local 7 28: StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List org.mongodb.morphia.annotations.EntityListeners java.lang.Class java.util.Iterator top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
end local 5 29: StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List org.mongodb.morphia.annotations.EntityListeners top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
30: aload 0
invokevirtual org.mongodb.morphia.mapping.MappedClass.update:()V
31: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
iconst_1
invokestatic org.mongodb.morphia.utils.ReflectionUtils.getDeclaredAndInheritedFields:(Ljava/lang/Class;Z)[Ljava/lang/reflect/Field;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 56
StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List org.mongodb.morphia.annotations.EntityListeners top int int java.lang.reflect.Field[]
StackMap stack:
32: aload 8
iload 6
aaload
astore 5
start local 5 33: aload 5
iconst_1
invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
34: aload 5
invokevirtual java.lang.reflect.Field.getModifiers:()I
istore 9
start local 9 35: aload 0
aload 5
iload 9
aload 1
invokevirtual org.mongodb.morphia.mapping.MappedClass.isIgnorable:(Ljava/lang/reflect/Field;ILorg/mongodb/morphia/mapping/Mapper;)Z
ifne 55
36: aload 5
ldc Lorg/mongodb/morphia/annotations/Id;
invokevirtual java.lang.reflect.Field.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 40
37: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.persistenceFields:Ljava/util/List;
new org.mongodb.morphia.mapping.MappedField
dup
aload 5
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
aload 1
invokespecial org.mongodb.morphia.mapping.MappedField.<init>:(Ljava/lang/reflect/Field;Ljava/lang/Class;Lorg/mongodb/morphia/mapping/Mapper;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
38: aload 0
invokevirtual org.mongodb.morphia.mapping.MappedClass.update:()V
39: goto 55
StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List org.mongodb.morphia.annotations.EntityListeners java.lang.reflect.Field int int java.lang.reflect.Field[] int
StackMap stack:
40: aload 5
ldc Lorg/mongodb/morphia/annotations/Property;
invokevirtual java.lang.reflect.Field.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 46
41: aload 5
ldc Lorg/mongodb/morphia/annotations/Reference;
invokevirtual java.lang.reflect.Field.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 46
42: aload 5
ldc Lorg/mongodb/morphia/annotations/Embedded;
invokevirtual java.lang.reflect.Field.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 46
43: aload 5
ldc Lorg/mongodb/morphia/annotations/Serialized;
invokevirtual java.lang.reflect.Field.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 46
44: aload 5
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
invokestatic org.mongodb.morphia.mapping.MappedClass.isSupportedType:(Ljava/lang/Class;)Z
ifne 46
45: aload 5
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
ldc Ljava/io/Serializable;
invokestatic org.mongodb.morphia.utils.ReflectionUtils.implementsInterface:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 48
46: StackMap locals:
StackMap stack:
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.persistenceFields:Ljava/util/List;
new org.mongodb.morphia.mapping.MappedField
dup
aload 5
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
aload 1
invokespecial org.mongodb.morphia.mapping.MappedField.<init>:(Ljava/lang/reflect/Field;Ljava/lang/Class;Lorg/mongodb/morphia/mapping/Mapper;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
47: goto 55
48: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.mongodb.morphia.mapping.Mapper.getOptions:()Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getDefaultMapper:()Lorg/mongodb/morphia/mapping/CustomMapper;
ifnull 51
49: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.persistenceFields:Ljava/util/List;
new org.mongodb.morphia.mapping.MappedField
dup
aload 5
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
aload 1
invokespecial org.mongodb.morphia.mapping.MappedField.<init>:(Ljava/lang/reflect/Field;Ljava/lang/Class;Lorg/mongodb/morphia/mapping/Mapper;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
50: goto 55
StackMap locals:
StackMap stack:
51: getstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isWarningEnabled:()Z
ifeq 55
52: getstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
ldc "Ignoring (will not persist) field: %s.%s [type:%s]"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.mongodb.morphia.mapping.MappedClass.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 5
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
aastore
dup
iconst_2
53: aload 5
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
54: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.mongodb.morphia.logging.Logger.warning:(Ljava/lang/String;)V
end local 9 end local 5 55: StackMap locals: org.mongodb.morphia.mapping.MappedClass org.mongodb.morphia.mapping.Mapper java.lang.Class java.util.List org.mongodb.morphia.annotations.EntityListeners top int int java.lang.reflect.Field[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
56: iload 6
iload 7
if_icmplt 32
57: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 58 1 mapper Lorg/mongodb/morphia/mapping/Mapper;
2 3 2 c Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
5 58 2 superclass Ljava/lang/Class<*>;
9 10 3 aClass Ljava/lang/Class<*>;
13 58 3 lifecycleClasses Ljava/util/List<Ljava/lang/Class<*>;>;
15 58 4 entityLisAnn Lorg/mongodb/morphia/annotations/EntityListeners;
19 29 5 cls Ljava/lang/Class<*>;
21 28 7 m Ljava/lang/reflect/Method;
23 27 9 c Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
33 55 5 field Ljava/lang/reflect/Field;
35 55 9 fieldMods I
MethodParameters:
Name Flags
mapper final
private void addAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.mongodb.morphia.mapping.MappedClass.getClazz:()Ljava/lang/Class;
aload 1
invokestatic org.mongodb.morphia.utils.ReflectionUtils.getAnnotations:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/List;
astore 2
start local 2 1: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.Class java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
astore 3
start local 3 3: aload 0
aload 1
aload 3
invokevirtual org.mongodb.morphia.mapping.MappedClass.addAnnotation:(Ljava/lang/Class;Ljava/lang/annotation/Annotation;)V
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/MappedClass;
0 6 1 clazz Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
1 6 2 annotations Ljava/util/List<+Ljava/lang/annotation/Annotation;>;
3 4 3 ann Ljava/lang/annotation/Annotation;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)V
MethodParameters:
Name Flags
clazz final
private void addLifecycleEventMethod(java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.reflect.Method, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.mongodb.morphia.mapping.MappedClass$ClassMethodPair
dup
aload 3
aload 2
invokespecial org.mongodb.morphia.mapping.MappedClass$ClassMethodPair.<init>:(Ljava/lang/Class;Ljava/lang/reflect/Method;)V
astore 4
start local 4 1: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.lifecycleMethods:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.lifecycleMethods:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: goto 7
4: StackMap locals: org.mongodb.morphia.mapping.MappedClass$ClassMethodPair
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 5: aload 5
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 0
getfield org.mongodb.morphia.mapping.MappedClass.lifecycleMethods:Ljava/util/Map;
aload 1
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 7: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 8 1 lceClazz Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 8 2 m Ljava/lang/reflect/Method;
0 8 3 clazz Ljava/lang/Class<*>;
1 8 4 cm Lorg/mongodb/morphia/mapping/MappedClass$ClassMethodPair;
5 7 5 methods Ljava/util/List<Lorg/mongodb/morphia/mapping/MappedClass$ClassMethodPair;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/reflect/Method;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
lceClazz final
m final
clazz final
private void callGlobalInterceptors(java.lang.Class<? extends java.lang.annotation.Annotation>, , com.mongodb.DBObject, org.mongodb.morphia.mapping.Mapper);
descriptor: (Ljava/lang/Class;Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokevirtual org.mongodb.morphia.mapping.Mapper.getInterceptors:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 18
StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.Class java.lang.Object com.mongodb.DBObject org.mongodb.morphia.mapping.Mapper top java.util.Iterator
StackMap stack:
1: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.mongodb.morphia.EntityInterceptor
astore 5
start local 5 2: getstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isDebugEnabled:()Z
ifeq 4
3: getstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Calling interceptor method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
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
4: StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.Class java.lang.Object com.mongodb.DBObject org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.EntityInterceptor java.util.Iterator
StackMap stack:
aload 1
ldc Lorg/mongodb/morphia/annotations/PreLoad;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 5
aload 2
aload 3
aload 4
invokeinterface org.mongodb.morphia.EntityInterceptor.preLoad:(Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)V
6: goto 18
StackMap locals:
StackMap stack:
7: aload 1
ldc Lorg/mongodb/morphia/annotations/PostLoad;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 10
8: aload 5
aload 2
aload 3
aload 4
invokeinterface org.mongodb.morphia.EntityInterceptor.postLoad:(Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)V
9: goto 18
StackMap locals:
StackMap stack:
10: aload 1
ldc Lorg/mongodb/morphia/annotations/PrePersist;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 13
11: aload 5
aload 2
aload 3
aload 4
invokeinterface org.mongodb.morphia.EntityInterceptor.prePersist:(Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)V
12: goto 18
StackMap locals:
StackMap stack:
13: aload 1
ldc Lorg/mongodb/morphia/annotations/PreSave;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
14: aload 5
aload 2
aload 3
aload 4
invokeinterface org.mongodb.morphia.EntityInterceptor.preSave:(Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)V
15: goto 18
StackMap locals:
StackMap stack:
16: aload 1
ldc Lorg/mongodb/morphia/annotations/PostPersist;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 18
17: aload 5
aload 2
aload 3
aload 4
invokeinterface org.mongodb.morphia.EntityInterceptor.postPersist:(Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)V
end local 5 18: StackMap locals: org.mongodb.morphia.mapping.MappedClass java.lang.Class java.lang.Object com.mongodb.DBObject org.mongodb.morphia.mapping.Mapper top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
19: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 20 1 event Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 20 2 entity Ljava/lang/Object;
0 20 3 dbObj Lcom/mongodb/DBObject;
0 20 4 mapper Lorg/mongodb/morphia/mapping/Mapper;
2 18 5 ei Lorg/mongodb/morphia/EntityInterceptor;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/Object;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/Mapper;)V
MethodParameters:
Name Flags
event final
entity final
dbObj final
mapper final
private getOrCreateInstance(java.lang.Class<?>, org.mongodb.morphia.mapping.Mapper);
descriptor: (Ljava/lang/Class;Lorg/mongodb/morphia/mapping/Mapper;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.getInstanceCache:()Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.getInstanceCache:()Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.getOptions:()Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.getObjectFactory:()Lorg/mongodb/morphia/ObjectFactory;
aload 1
invokeinterface org.mongodb.morphia.ObjectFactory.createInstance:(Ljava/lang/Class;)Ljava/lang/Object;
astore 3
start local 3 3: aload 2
invokevirtual org.mongodb.morphia.mapping.Mapper.getInstanceCache:()Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 4: aload 4
ifnull 7
5: getstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
invokeinterface org.mongodb.morphia.logging.Logger.isErrorEnabled:()Z
ifeq 7
6: getstatic org.mongodb.morphia.mapping.MappedClass.LOG:Lorg/mongodb/morphia/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Race-condition, created duplicate class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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.error:(Ljava/lang/String;)V
7: StackMap locals: java.lang.Object java.lang.Object
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 8 0 this Lorg/mongodb/morphia/mapping/MappedClass;
0 8 1 clazz Ljava/lang/Class<*>;
0 8 2 mapper Lorg/mongodb/morphia/mapping/Mapper;
3 8 3 o Ljava/lang/Object;
4 8 4 nullO Ljava/lang/Object;
Signature: (Ljava/lang/Class<*>;Lorg/mongodb/morphia/mapping/Mapper;)Ljava/lang/Object;
MethodParameters:
Name Flags
clazz final
mapper final
private boolean isIgnorable(java.lang.reflect.Field, int, org.mongodb.morphia.mapping.Mapper);
descriptor: (Ljava/lang/reflect/Field;ILorg/mongodb/morphia/mapping/Mapper;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc Lorg/mongodb/morphia/annotations/Transient;
invokevirtual java.lang.reflect.Field.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 5
1: iload 2
invokestatic java.lang.reflect.Modifier.isTransient:(I)Z
ifne 5
2: aload 1
invokevirtual java.lang.reflect.Field.isSynthetic:()Z
ifeq 3
iload 2
invokestatic java.lang.reflect.Modifier.isTransient:(I)Z
ifne 5
3: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.mongodb.morphia.mapping.Mapper.getOptions:()Lorg/mongodb/morphia/mapping/MapperOptions;
invokevirtual org.mongodb.morphia.mapping.MapperOptions.isIgnoreFinals:()Z
ifeq 4
iload 2
invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
ifne 5
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
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/MappedClass;
0 6 1 field Ljava/lang/reflect/Field;
0 6 2 fieldMods I
0 6 3 mapper Lorg/mongodb/morphia/mapping/Mapper;
MethodParameters:
Name Flags
field final
fieldMods final
mapper final
}
SourceFile: "MappedClass.java"
NestMembers:
org.mongodb.morphia.mapping.MappedClass$ClassMethodPair
InnerClasses:
private ClassMethodPair = org.mongodb.morphia.mapping.MappedClass$ClassMethodPair of org.mongodb.morphia.mapping.MappedClass