final class org.bson.codecs.pojo.DiscriminatorLookup
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.bson.codecs.pojo.DiscriminatorLookup
super_class: java.lang.Object
{
private final java.util.Map<java.lang.String, java.lang.Class<?>> discriminatorClassMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
private final java.util.Set<java.lang.String> packages;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
void <init>(java.util.Map<java.lang.Class<?>, org.bson.codecs.pojo.ClassModel<?>>, java.util.Set<java.lang.String>);
descriptor: (Ljava/util/Map;Ljava/util/Set;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 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.bson.codecs.pojo.DiscriminatorLookup.discriminatorClassMap:Ljava/util/Map;
2: aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: org.bson.codecs.pojo.DiscriminatorLookup java.util.Map java.util.Set top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bson.codecs.pojo.ClassModel
astore 3
start local 3 4: aload 3
invokevirtual org.bson.codecs.pojo.ClassModel.getDiscriminator:()Ljava/lang/String;
ifnull 6
5: aload 0
getfield org.bson.codecs.pojo.DiscriminatorLookup.discriminatorClassMap:Ljava/util/Map;
aload 3
invokevirtual org.bson.codecs.pojo.ClassModel.getDiscriminator:()Ljava/lang/String;
aload 3
invokevirtual org.bson.codecs.pojo.ClassModel.getType:()Ljava/lang/Class;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 0
aload 2
putfield org.bson.codecs.pojo.DiscriminatorLookup.packages:Ljava/util/Set;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bson/codecs/pojo/DiscriminatorLookup;
0 9 1 classModels Ljava/util/Map<Ljava/lang/Class<*>;Lorg/bson/codecs/pojo/ClassModel<*>;>;
0 9 2 packages Ljava/util/Set<Ljava/lang/String;>;
4 6 3 classModel Lorg/bson/codecs/pojo/ClassModel<*>;
Signature: (Ljava/util/Map<Ljava/lang/Class<*>;Lorg/bson/codecs/pojo/ClassModel<*>;>;Ljava/util/Set<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
classModels final
packages final
public java.lang.Class<?> lookup(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.bson.codecs.pojo.DiscriminatorLookup.discriminatorClassMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield org.bson.codecs.pojo.DiscriminatorLookup.discriminatorClassMap: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
aload 1
invokevirtual org.bson.codecs.pojo.DiscriminatorLookup.getClassForName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 3: aload 2
ifnonnull 5
4: aload 0
aload 1
invokevirtual org.bson.codecs.pojo.DiscriminatorLookup.searchPackages:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
5: StackMap locals: java.lang.Class
StackMap stack:
aload 2
ifnonnull 7
6: new org.bson.codecs.configuration.CodecConfigurationException
dup
ldc "A class could not be found for the discriminator: '%s'."
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.bson.codecs.configuration.CodecConfigurationException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield org.bson.codecs.pojo.DiscriminatorLookup.discriminatorClassMap:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bson/codecs/pojo/DiscriminatorLookup;
0 9 1 discriminator Ljava/lang/String;
3 9 2 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
discriminator final
void addClassModel(org.bson.codecs.pojo.ClassModel<?>);
descriptor: (Lorg/bson/codecs/pojo/ClassModel;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.bson.codecs.pojo.ClassModel.getDiscriminator:()Ljava/lang/String;
ifnull 2
1: aload 0
getfield org.bson.codecs.pojo.DiscriminatorLookup.discriminatorClassMap:Ljava/util/Map;
aload 1
invokevirtual org.bson.codecs.pojo.ClassModel.getDiscriminator:()Ljava/lang/String;
aload 1
invokevirtual org.bson.codecs.pojo.ClassModel.getType:()Ljava/lang/Class;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/codecs/pojo/DiscriminatorLookup;
0 3 1 classModel Lorg/bson/codecs/pojo/ClassModel<*>;
Signature: (Lorg/bson/codecs/pojo/ClassModel<*>;)V
MethodParameters:
Name Flags
classModel final
private java.lang.Class<?> getClassForName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
2: goto 4
StackMap locals: org.bson.codecs.pojo.DiscriminatorLookup java.lang.String java.lang.Class
StackMap stack: java.lang.ClassNotFoundException
3: pop
4: StackMap locals:
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/bson/codecs/pojo/DiscriminatorLookup;
0 5 1 discriminator Ljava/lang/String;
1 5 2 clazz Ljava/lang/Class<*>;
Exception table:
from to target type
1 2 3 Class java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
discriminator final
private java.lang.Class<?> searchPackages(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield org.bson.codecs.pojo.DiscriminatorLookup.packages:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: org.bson.codecs.pojo.DiscriminatorLookup java.lang.String java.lang.Class top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aload 0
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.bson.codecs.pojo.DiscriminatorLookup.getClassForName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
4: aload 2
ifnull 6
5: aload 2
areturn
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bson/codecs/pojo/DiscriminatorLookup;
0 8 1 discriminator Ljava/lang/String;
1 8 2 clazz Ljava/lang/Class<*>;
3 6 3 packageName Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
discriminator final
}
SourceFile: "DiscriminatorLookup.java"