public class org.bson.codecs.BsonValueCodecProvider implements org.bson.codecs.configuration.CodecProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bson.codecs.BsonValueCodecProvider
super_class: java.lang.Object
{
private static final org.bson.codecs.BsonTypeClassMap DEFAULT_BSON_TYPE_CLASS_MAP;
descriptor: Lorg/bson/codecs/BsonTypeClassMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.Map<java.lang.Class<?>, org.bson.codecs.Codec<?>> codecs;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class<*>;Lorg/bson/codecs/Codec<*>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 0
start local 0 1: aload 0
getstatic org.bson.BsonType.NULL:Lorg/bson/BsonType;
ldc Lorg/bson/BsonNull;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
getstatic org.bson.BsonType.ARRAY:Lorg/bson/BsonType;
ldc Lorg/bson/BsonArray;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
getstatic org.bson.BsonType.BINARY:Lorg/bson/BsonType;
ldc Lorg/bson/BsonBinary;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 0
getstatic org.bson.BsonType.BOOLEAN:Lorg/bson/BsonType;
ldc Lorg/bson/BsonBoolean;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 0
getstatic org.bson.BsonType.DATE_TIME:Lorg/bson/BsonType;
ldc Lorg/bson/BsonDateTime;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 0
getstatic org.bson.BsonType.DB_POINTER:Lorg/bson/BsonType;
ldc Lorg/bson/BsonDbPointer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 0
getstatic org.bson.BsonType.DOCUMENT:Lorg/bson/BsonType;
ldc Lorg/bson/BsonDocument;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 0
getstatic org.bson.BsonType.DOUBLE:Lorg/bson/BsonType;
ldc Lorg/bson/BsonDouble;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 0
getstatic org.bson.BsonType.INT32:Lorg/bson/BsonType;
ldc Lorg/bson/BsonInt32;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 0
getstatic org.bson.BsonType.INT64:Lorg/bson/BsonType;
ldc Lorg/bson/BsonInt64;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 0
getstatic org.bson.BsonType.DECIMAL128:Lorg/bson/BsonType;
ldc Lorg/bson/BsonDecimal128;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 0
getstatic org.bson.BsonType.MAX_KEY:Lorg/bson/BsonType;
ldc Lorg/bson/BsonMaxKey;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 0
getstatic org.bson.BsonType.MIN_KEY:Lorg/bson/BsonType;
ldc Lorg/bson/BsonMinKey;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 0
getstatic org.bson.BsonType.JAVASCRIPT:Lorg/bson/BsonType;
ldc Lorg/bson/BsonJavaScript;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: aload 0
getstatic org.bson.BsonType.JAVASCRIPT_WITH_SCOPE:Lorg/bson/BsonType;
ldc Lorg/bson/BsonJavaScriptWithScope;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 0
getstatic org.bson.BsonType.OBJECT_ID:Lorg/bson/BsonType;
ldc Lorg/bson/BsonObjectId;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 0
getstatic org.bson.BsonType.REGULAR_EXPRESSION:Lorg/bson/BsonType;
ldc Lorg/bson/BsonRegularExpression;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 0
getstatic org.bson.BsonType.STRING:Lorg/bson/BsonType;
ldc Lorg/bson/BsonString;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: aload 0
getstatic org.bson.BsonType.SYMBOL:Lorg/bson/BsonType;
ldc Lorg/bson/BsonSymbol;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: aload 0
getstatic org.bson.BsonType.TIMESTAMP:Lorg/bson/BsonType;
ldc Lorg/bson/BsonTimestamp;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: aload 0
getstatic org.bson.BsonType.UNDEFINED:Lorg/bson/BsonType;
ldc Lorg/bson/BsonUndefined;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: new org.bson.codecs.BsonTypeClassMap
dup
aload 0
invokespecial org.bson.codecs.BsonTypeClassMap.<init>:(Ljava/util/Map;)V
putstatic org.bson.codecs.BsonValueCodecProvider.DEFAULT_BSON_TYPE_CLASS_MAP:Lorg/bson/codecs/BsonTypeClassMap;
end local 0 23: return
LocalVariableTable:
Start End Slot Name Signature
1 23 0 map Ljava/util/Map<Lorg/bson/BsonType;Ljava/lang/Class<*>;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.bson.codecs.BsonValueCodecProvider.codecs:Ljava/util/Map;
2: aload 0
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodecs:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bson/codecs/BsonValueCodecProvider;
public static java.lang.Class<? extends org.bson.BsonValue> getClassForBsonType(org.bson.BsonType);
descriptor: (Lorg/bson/BsonType;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.bson.codecs.BsonValueCodecProvider.DEFAULT_BSON_TYPE_CLASS_MAP:Lorg/bson/codecs/BsonTypeClassMap;
aload 0
invokevirtual org.bson.codecs.BsonTypeClassMap.get:(Lorg/bson/BsonType;)Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bsonType Lorg/bson/BsonType;
Signature: (Lorg/bson/BsonType;)Ljava/lang/Class<+Lorg/bson/BsonValue;>;
MethodParameters:
Name Flags
bsonType final
public static org.bson.codecs.BsonTypeClassMap getBsonTypeClassMap();
descriptor: ()Lorg/bson/codecs/BsonTypeClassMap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.bson.codecs.BsonValueCodecProvider.DEFAULT_BSON_TYPE_CLASS_MAP:Lorg/bson/codecs/BsonTypeClassMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public <T> org.bson.codecs.Codec<T> get(java.lang.Class<T>, org.bson.codecs.configuration.CodecRegistry);
descriptor: (Ljava/lang/Class;Lorg/bson/codecs/configuration/CodecRegistry;)Lorg/bson/codecs/Codec;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bson.codecs.BsonValueCodecProvider.codecs:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield org.bson.codecs.BsonValueCodecProvider.codecs:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.bson.codecs.Codec
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc Lorg/bson/BsonJavaScriptWithScope;
if_acmpne 4
3: new org.bson.codecs.BsonJavaScriptWithScopeCodec
dup
aload 2
ldc Lorg/bson/BsonDocument;
invokeinterface org.bson.codecs.configuration.CodecRegistry.get:(Ljava/lang/Class;)Lorg/bson/codecs/Codec;
invokespecial org.bson.codecs.BsonJavaScriptWithScopeCodec.<init>:(Lorg/bson/codecs/Codec;)V
areturn
4: StackMap locals:
StackMap stack:
aload 1
ldc Lorg/bson/BsonValue;
if_acmpne 6
5: new org.bson.codecs.BsonValueCodec
dup
aload 2
invokespecial org.bson.codecs.BsonValueCodec.<init>:(Lorg/bson/codecs/configuration/CodecRegistry;)V
areturn
6: StackMap locals:
StackMap stack:
aload 1
ldc Lorg/bson/BsonDocumentWrapper;
if_acmpne 8
7: new org.bson.codecs.BsonDocumentWrapperCodec
dup
aload 2
ldc Lorg/bson/BsonDocument;
invokeinterface org.bson.codecs.configuration.CodecRegistry.get:(Ljava/lang/Class;)Lorg/bson/codecs/Codec;
invokespecial org.bson.codecs.BsonDocumentWrapperCodec.<init>:(Lorg/bson/codecs/Codec;)V
areturn
8: StackMap locals:
StackMap stack:
aload 1
ldc Lorg/bson/RawBsonDocument;
if_acmpne 10
9: new org.bson.codecs.RawBsonDocumentCodec
dup
invokespecial org.bson.codecs.RawBsonDocumentCodec.<init>:()V
areturn
10: StackMap locals:
StackMap stack:
ldc Lorg/bson/BsonDocument;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 12
11: new org.bson.codecs.BsonDocumentCodec
dup
aload 2
invokespecial org.bson.codecs.BsonDocumentCodec.<init>:(Lorg/bson/codecs/configuration/CodecRegistry;)V
areturn
12: StackMap locals:
StackMap stack:
ldc Lorg/bson/BsonArray;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 14
13: new org.bson.codecs.BsonArrayCodec
dup
aload 2
invokespecial org.bson.codecs.BsonArrayCodec.<init>:(Lorg/bson/codecs/configuration/CodecRegistry;)V
areturn
14: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/bson/codecs/BsonValueCodecProvider;
0 15 1 clazz Ljava/lang/Class<TT;>;
0 15 2 registry Lorg/bson/codecs/configuration/CodecRegistry;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Lorg/bson/codecs/configuration/CodecRegistry;)Lorg/bson/codecs/Codec<TT;>;
MethodParameters:
Name Flags
clazz final
registry final
private void addCodecs();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new org.bson.codecs.BsonNullCodec
dup
invokespecial org.bson.codecs.BsonNullCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
1: aload 0
new org.bson.codecs.BsonBinaryCodec
dup
invokespecial org.bson.codecs.BsonBinaryCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
2: aload 0
new org.bson.codecs.BsonBooleanCodec
dup
invokespecial org.bson.codecs.BsonBooleanCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
3: aload 0
new org.bson.codecs.BsonDateTimeCodec
dup
invokespecial org.bson.codecs.BsonDateTimeCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
4: aload 0
new org.bson.codecs.BsonDBPointerCodec
dup
invokespecial org.bson.codecs.BsonDBPointerCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
5: aload 0
new org.bson.codecs.BsonDoubleCodec
dup
invokespecial org.bson.codecs.BsonDoubleCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
6: aload 0
new org.bson.codecs.BsonInt32Codec
dup
invokespecial org.bson.codecs.BsonInt32Codec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
7: aload 0
new org.bson.codecs.BsonInt64Codec
dup
invokespecial org.bson.codecs.BsonInt64Codec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
8: aload 0
new org.bson.codecs.BsonDecimal128Codec
dup
invokespecial org.bson.codecs.BsonDecimal128Codec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
9: aload 0
new org.bson.codecs.BsonMinKeyCodec
dup
invokespecial org.bson.codecs.BsonMinKeyCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
10: aload 0
new org.bson.codecs.BsonMaxKeyCodec
dup
invokespecial org.bson.codecs.BsonMaxKeyCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
11: aload 0
new org.bson.codecs.BsonJavaScriptCodec
dup
invokespecial org.bson.codecs.BsonJavaScriptCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
12: aload 0
new org.bson.codecs.BsonObjectIdCodec
dup
invokespecial org.bson.codecs.BsonObjectIdCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
13: aload 0
new org.bson.codecs.BsonRegularExpressionCodec
dup
invokespecial org.bson.codecs.BsonRegularExpressionCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
14: aload 0
new org.bson.codecs.BsonStringCodec
dup
invokespecial org.bson.codecs.BsonStringCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
15: aload 0
new org.bson.codecs.BsonSymbolCodec
dup
invokespecial org.bson.codecs.BsonSymbolCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
16: aload 0
new org.bson.codecs.BsonTimestampCodec
dup
invokespecial org.bson.codecs.BsonTimestampCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
17: aload 0
new org.bson.codecs.BsonUndefinedCodec
dup
invokespecial org.bson.codecs.BsonUndefinedCodec.<init>:()V
invokevirtual org.bson.codecs.BsonValueCodecProvider.addCodec:(Lorg/bson/codecs/Codec;)V
18: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bson/codecs/BsonValueCodecProvider;
private <T extends org.bson.BsonValue> void addCodec(org.bson.codecs.Codec<T>);
descriptor: (Lorg/bson/codecs/Codec;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bson.codecs.BsonValueCodecProvider.codecs:Ljava/util/Map;
aload 1
invokeinterface org.bson.codecs.Codec.getEncoderClass:()Ljava/lang/Class;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/codecs/BsonValueCodecProvider;
0 2 1 codec Lorg/bson/codecs/Codec<TT;>;
Signature: <T:Lorg/bson/BsonValue;>(Lorg/bson/codecs/Codec<TT;>;)V
MethodParameters:
Name Flags
codec final
}
SourceFile: "BsonValueCodecProvider.java"