final class com.mongodb.DBCollectionObjectFactory implements com.mongodb.DBObjectFactory
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.mongodb.DBCollectionObjectFactory
super_class: java.lang.Object
{
private final java.util.Map<java.util.List<java.lang.String>, java.lang.Class<? extends com.mongodb.DBObject>> pathToClassMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Class<+Lcom/mongodb/DBObject;>;>;
private final com.mongodb.ReflectionDBObject$JavaWrapper wrapper;
descriptor: Lcom/mongodb/ReflectionDBObject$JavaWrapper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
aconst_null
invokespecial com.mongodb.DBCollectionObjectFactory.<init>:(Ljava/util/Map;Lcom/mongodb/ReflectionDBObject$JavaWrapper;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/DBCollectionObjectFactory;
private void <init>(java.util.Map<java.util.List<java.lang.String>, java.lang.Class<? extends com.mongodb.DBObject>>, com.mongodb.ReflectionDBObject$JavaWrapper);
descriptor: (Ljava/util/Map;Lcom/mongodb/ReflectionDBObject$JavaWrapper;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, 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
aload 1
putfield com.mongodb.DBCollectionObjectFactory.pathToClassMap:Ljava/util/Map;
2: aload 0
aload 2
putfield com.mongodb.DBCollectionObjectFactory.wrapper:Lcom/mongodb/ReflectionDBObject$JavaWrapper;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/DBCollectionObjectFactory;
0 4 1 pathToClassMap Ljava/util/Map<Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Class<+Lcom/mongodb/DBObject;>;>;
0 4 2 wrapper Lcom/mongodb/ReflectionDBObject$JavaWrapper;
Signature: (Ljava/util/Map<Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Class<+Lcom/mongodb/DBObject;>;>;Lcom/mongodb/ReflectionDBObject$JavaWrapper;)V
MethodParameters:
Name Flags
pathToClassMap final
wrapper final
public com.mongodb.DBObject getInstance();
descriptor: ()Lcom/mongodb/DBObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual com.mongodb.DBCollectionObjectFactory.getInstance:(Ljava/util/List;)Lcom/mongodb/DBObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/DBCollectionObjectFactory;
public com.mongodb.DBObject getInstance(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)Lcom/mongodb/DBObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.mongodb.DBCollectionObjectFactory.getClassForPath:(Ljava/util/List;)Ljava/lang/Class;
astore 2
start local 2 1: aload 2
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.mongodb.DBObject
2: areturn
3: StackMap locals: com.mongodb.DBCollectionObjectFactory java.util.List java.lang.Class
StackMap stack: java.lang.InstantiationException
astore 3
start local 3 4: aload 0
aload 2
aload 3
invokevirtual com.mongodb.DBCollectionObjectFactory.createInternalException:(Ljava/lang/Class;Ljava/lang/Throwable;)Lcom/mongodb/MongoInternalException;
athrow
end local 3 5: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 3
start local 3 6: aload 0
aload 2
aload 3
invokevirtual com.mongodb.DBCollectionObjectFactory.createInternalException:(Ljava/lang/Class;Ljava/lang/Throwable;)Lcom/mongodb/MongoInternalException;
athrow
end local 3 7: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
astore 3
start local 3 8: aload 0
aload 2
aload 3
invokevirtual com.mongodb.DBCollectionObjectFactory.createInternalException:(Ljava/lang/Class;Ljava/lang/Throwable;)Lcom/mongodb/MongoInternalException;
athrow
end local 3 9: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 3
start local 3 10: aload 0
aload 2
aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
invokevirtual com.mongodb.DBCollectionObjectFactory.createInternalException:(Ljava/lang/Class;Ljava/lang/Throwable;)Lcom/mongodb/MongoInternalException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/mongodb/DBCollectionObjectFactory;
0 11 1 path Ljava/util/List<Ljava/lang/String;>;
1 11 2 aClass Ljava/lang/Class<+Lcom/mongodb/DBObject;>;
4 5 3 e Ljava/lang/InstantiationException;
6 7 3 e Ljava/lang/IllegalAccessException;
8 9 3 e Ljava/lang/NoSuchMethodException;
10 11 3 e Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
1 2 3 Class java.lang.InstantiationException
1 2 5 Class java.lang.IllegalAccessException
1 2 7 Class java.lang.NoSuchMethodException
1 2 9 Class java.lang.reflect.InvocationTargetException
Signature: (Ljava/util/List<Ljava/lang/String;>;)Lcom/mongodb/DBObject;
MethodParameters:
Name Flags
path final
public com.mongodb.DBCollectionObjectFactory update(java.lang.Class<? extends com.mongodb.DBObject>);
descriptor: (Ljava/lang/Class;)Lcom/mongodb/DBCollectionObjectFactory;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new com.mongodb.DBCollectionObjectFactory
dup
aload 0
aload 1
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual com.mongodb.DBCollectionObjectFactory.updatePathToClassMap:(Ljava/lang/Class;Ljava/util/List;)Ljava/util/Map;
1: aload 0
aload 1
invokevirtual com.mongodb.DBCollectionObjectFactory.isReflectionDBObject:(Ljava/lang/Class;)Z
ifeq 2
aload 1
invokestatic com.mongodb.ReflectionDBObject.getWrapper:(Ljava/lang/Class;)Lcom/mongodb/ReflectionDBObject$JavaWrapper;
goto 3
StackMap locals: com.mongodb.DBCollectionObjectFactory java.lang.Class
StackMap stack: new 0 new 0 java.util.Map
2: aload 0
getfield com.mongodb.DBCollectionObjectFactory.wrapper:Lcom/mongodb/ReflectionDBObject$JavaWrapper;
3: StackMap locals: com.mongodb.DBCollectionObjectFactory java.lang.Class
StackMap stack: new 0 new 0 java.util.Map com.mongodb.ReflectionDBObject$JavaWrapper
invokespecial com.mongodb.DBCollectionObjectFactory.<init>:(Ljava/util/Map;Lcom/mongodb/ReflectionDBObject$JavaWrapper;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/DBCollectionObjectFactory;
0 4 1 aClass Ljava/lang/Class<+Lcom/mongodb/DBObject;>;
Signature: (Ljava/lang/Class<+Lcom/mongodb/DBObject;>;)Lcom/mongodb/DBCollectionObjectFactory;
MethodParameters:
Name Flags
aClass final
public com.mongodb.DBCollectionObjectFactory update(java.lang.Class<? extends com.mongodb.DBObject>, java.util.List<java.lang.String>);
descriptor: (Ljava/lang/Class;Ljava/util/List;)Lcom/mongodb/DBCollectionObjectFactory;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.mongodb.DBCollectionObjectFactory
dup
aload 0
aload 1
aload 2
invokevirtual com.mongodb.DBCollectionObjectFactory.updatePathToClassMap:(Ljava/lang/Class;Ljava/util/List;)Ljava/util/Map;
aload 0
getfield com.mongodb.DBCollectionObjectFactory.wrapper:Lcom/mongodb/ReflectionDBObject$JavaWrapper;
invokespecial com.mongodb.DBCollectionObjectFactory.<init>:(Ljava/util/Map;Lcom/mongodb/ReflectionDBObject$JavaWrapper;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/DBCollectionObjectFactory;
0 1 1 aClass Ljava/lang/Class<+Lcom/mongodb/DBObject;>;
0 1 2 path Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/lang/Class<+Lcom/mongodb/DBObject;>;Ljava/util/List<Ljava/lang/String;>;)Lcom/mongodb/DBCollectionObjectFactory;
MethodParameters:
Name Flags
aClass final
path final
private java.util.Map<java.util.List<java.lang.String>, java.lang.Class<? extends com.mongodb.DBObject>> updatePathToClassMap(java.lang.Class<? extends com.mongodb.DBObject>, java.util.List<java.lang.String>);
descriptor: (Ljava/lang/Class;Ljava/util/List;)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashMap
dup
aload 0
getfield com.mongodb.DBCollectionObjectFactory.pathToClassMap:Ljava/util/Map;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 3
start local 3 1: aload 1
ifnull 4
2: aload 3
aload 2
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: goto 5
4: StackMap locals: java.util.Map
StackMap stack:
aload 3
aload 2
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mongodb/DBCollectionObjectFactory;
0 6 1 aClass Ljava/lang/Class<+Lcom/mongodb/DBObject;>;
0 6 2 path Ljava/util/List<Ljava/lang/String;>;
1 6 3 map Ljava/util/Map<Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Class<+Lcom/mongodb/DBObject;>;>;
Signature: (Ljava/lang/Class<+Lcom/mongodb/DBObject;>;Ljava/util/List<Ljava/lang/String;>;)Ljava/util/Map<Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Class<+Lcom/mongodb/DBObject;>;>;
MethodParameters:
Name Flags
aClass final
path final
java.lang.Class<? extends com.mongodb.DBObject> getClassForPath(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)Ljava/lang/Class;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mongodb.DBCollectionObjectFactory.pathToClassMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield com.mongodb.DBCollectionObjectFactory.pathToClassMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.DBCollectionObjectFactory.wrapper:Lcom/mongodb/ReflectionDBObject$JavaWrapper;
ifnull 3
aload 0
getfield com.mongodb.DBCollectionObjectFactory.wrapper:Lcom/mongodb/ReflectionDBObject$JavaWrapper;
aload 1
invokevirtual com.mongodb.ReflectionDBObject$JavaWrapper.getInternalClass:(Ljava/util/List;)Ljava/lang/Class;
goto 4
StackMap locals:
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: java.lang.Class
4: astore 2
start local 2 5: aload 2
ifnull 6
aload 2
goto 7
StackMap locals: java.lang.Class
StackMap stack:
6: ldc Lcom/mongodb/BasicDBObject;
StackMap locals:
StackMap stack: java.lang.Class
7: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/mongodb/DBCollectionObjectFactory;
0 8 1 path Ljava/util/List<Ljava/lang/String;>;
5 8 2 aClass Ljava/lang/Class<+Lcom/mongodb/DBObject;>;
Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/lang/Class<+Lcom/mongodb/DBObject;>;
MethodParameters:
Name Flags
path final
private boolean isReflectionDBObject(java.lang.Class<? extends com.mongodb.DBObject>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
ldc Lcom/mongodb/ReflectionDBObject;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 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 Lcom/mongodb/DBCollectionObjectFactory;
0 2 1 aClass Ljava/lang/Class<+Lcom/mongodb/DBObject;>;
Signature: (Ljava/lang/Class<+Lcom/mongodb/DBObject;>;)Z
MethodParameters:
Name Flags
aClass final
private com.mongodb.MongoInternalException createInternalException(java.lang.Class<? extends com.mongodb.DBObject>, java.lang.Throwable);
descriptor: (Ljava/lang/Class;Ljava/lang/Throwable;)Lcom/mongodb/MongoInternalException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.mongodb.MongoInternalException
dup
new java.lang.StringBuilder
dup
ldc "Can't instantiate 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;
aload 2
invokespecial com.mongodb.MongoInternalException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/DBCollectionObjectFactory;
0 1 1 aClass Ljava/lang/Class<+Lcom/mongodb/DBObject;>;
0 1 2 e Ljava/lang/Throwable;
Signature: (Ljava/lang/Class<+Lcom/mongodb/DBObject;>;Ljava/lang/Throwable;)Lcom/mongodb/MongoInternalException;
MethodParameters:
Name Flags
aClass final
e final
}
SourceFile: "DBCollectionObjectFactory.java"
InnerClasses:
public JavaWrapper = com.mongodb.ReflectionDBObject$JavaWrapper of com.mongodb.ReflectionDBObject
RuntimeVisibleAnnotations:
com.mongodb.annotations.Immutable()