public class com.mongodb.util.JSONCallback extends org.bson.BasicBSONCallback
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.mongodb.util.JSONCallback
super_class: org.bson.BasicBSONCallback
{
private boolean _lastArray;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public static final java.lang.String _msDateFormat;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
public static final java.lang.String _secDateFormat;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "yyyy-MM-dd'T'HH:mm:ss'Z'"
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.bson.BasicBSONCallback.<init>:()V
1: aload 0
iconst_0
putfield com.mongodb.util.JSONCallback._lastArray:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/util/JSONCallback;
public org.bson.BSONObject create();
descriptor: ()Lorg/bson/BSONObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.mongodb.BasicDBObject
dup
invokespecial com.mongodb.BasicDBObject.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/util/JSONCallback;
protected org.bson.BSONObject createList();
descriptor: ()Lorg/bson/BSONObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.mongodb.BasicDBList
dup
invokespecial com.mongodb.BasicDBList.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/util/JSONCallback;
public void arrayStart(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield com.mongodb.util.JSONCallback._lastArray:Z
1: aload 0
aload 1
invokespecial org.bson.BasicBSONCallback.arrayStart:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/util/JSONCallback;
0 3 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name final
public void objectStart(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield com.mongodb.util.JSONCallback._lastArray:Z
1: aload 0
aload 1
invokespecial org.bson.BasicBSONCallback.objectStart:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/util/JSONCallback;
0 3 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name final
public java.lang.Object objectDone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual com.mongodb.util.JSONCallback.curName:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
invokespecial org.bson.BasicBSONCallback.objectDone:()Ljava/lang/Object;
astore 2
start local 2 2: aload 0
getfield com.mongodb.util.JSONCallback._lastArray:Z
ifeq 4
3: aload 2
areturn
4: StackMap locals: java.lang.String java.lang.Object
StackMap stack:
aload 2
checkcast org.bson.BSONObject
astore 3
start local 3 5: aload 3
ldc "$oid"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 8
6: new org.bson.types.ObjectId
dup
aload 3
ldc "$oid"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
invokespecial org.bson.types.ObjectId.<init>:(Ljava/lang/String;)V
astore 2
7: goto 69
StackMap locals: org.bson.BSONObject
StackMap stack:
8: aload 3
ldc "$date"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 20
9: aload 3
ldc "$date"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
instanceof java.lang.Number
ifeq 12
10: new java.util.Date
dup
aload 3
ldc "$date"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
invokespecial java.util.Date.<init>:(J)V
astore 2
11: goto 69
12: StackMap locals:
StackMap stack:
new java.text.SimpleDateFormat
dup
ldc "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 13: aload 4
new java.util.GregorianCalendar
dup
new java.util.SimpleTimeZone
dup
iconst_0
ldc "GMT"
invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;)V
invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;)V
invokevirtual java.text.SimpleDateFormat.setCalendar:(Ljava/util/Calendar;)V
14: aload 4
aload 3
ldc "$date"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
new java.text.ParsePosition
dup
iconst_0
invokespecial java.text.ParsePosition.<init>:(I)V
invokevirtual java.text.SimpleDateFormat.parse:(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
astore 2
15: aload 2
ifnonnull 69
16: new java.text.SimpleDateFormat
dup
ldc "yyyy-MM-dd'T'HH:mm:ss'Z'"
invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;)V
astore 4
17: aload 4
new java.util.GregorianCalendar
dup
new java.util.SimpleTimeZone
dup
iconst_0
ldc "GMT"
invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;)V
invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;)V
invokevirtual java.text.SimpleDateFormat.setCalendar:(Ljava/util/Calendar;)V
18: aload 4
aload 3
ldc "$date"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
new java.text.ParsePosition
dup
iconst_0
invokespecial java.text.ParsePosition.<init>:(I)V
invokevirtual java.text.SimpleDateFormat.parse:(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
astore 2
end local 4 19: goto 69
StackMap locals:
StackMap stack:
20: aload 3
ldc "$regex"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 25
21: aload 3
ldc "$regex"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
22: aload 3
ldc "$options"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic org.bson.BSON.regexFlags:(Ljava/lang/String;)I
23: invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
astore 2
24: goto 69
StackMap locals:
StackMap stack:
25: aload 3
ldc "$ts"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 30
26: aload 3
ldc "$ts"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 4
start local 4 27: aload 3
ldc "$inc"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 5
start local 5 28: new org.bson.types.BSONTimestamp
dup
aload 4
invokevirtual java.lang.Integer.intValue:()I
aload 5
invokevirtual java.lang.Integer.intValue:()I
invokespecial org.bson.types.BSONTimestamp.<init>:(II)V
astore 2
end local 5 end local 4 29: goto 69
StackMap locals:
StackMap stack:
30: aload 3
ldc "$timestamp"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 36
31: aload 3
ldc "$timestamp"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast org.bson.BSONObject
astore 4
start local 4 32: aload 4
ldc "t"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 5
start local 5 33: aload 4
ldc "i"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 6
start local 6 34: new org.bson.types.BSONTimestamp
dup
aload 5
invokevirtual java.lang.Integer.intValue:()I
aload 6
invokevirtual java.lang.Integer.intValue:()I
invokespecial org.bson.types.BSONTimestamp.<init>:(II)V
astore 2
end local 6 end local 5 end local 4 35: goto 69
StackMap locals:
StackMap stack:
36: aload 3
ldc "$code"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 42
37: aload 3
ldc "$scope"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 40
38: new org.bson.types.CodeWScope
dup
aload 3
ldc "$code"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
aload 3
ldc "$scope"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast com.mongodb.DBObject
invokespecial org.bson.types.CodeWScope.<init>:(Ljava/lang/String;Lorg/bson/BSONObject;)V
astore 2
39: goto 69
40: StackMap locals:
StackMap stack:
new org.bson.types.Code
dup
aload 3
ldc "$code"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
invokespecial org.bson.types.Code.<init>:(Ljava/lang/String;)V
astore 2
41: goto 69
StackMap locals:
StackMap stack:
42: aload 3
ldc "$ref"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 45
43: new com.mongodb.DBRef
dup
aload 3
ldc "$ref"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
aload 3
ldc "$id"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
invokespecial com.mongodb.DBRef.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 2
44: goto 69
StackMap locals:
StackMap stack:
45: aload 3
ldc "$minKey"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 48
46: new org.bson.types.MinKey
dup
invokespecial org.bson.types.MinKey.<init>:()V
astore 2
47: goto 69
StackMap locals:
StackMap stack:
48: aload 3
ldc "$maxKey"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 51
49: new org.bson.types.MaxKey
dup
invokespecial org.bson.types.MaxKey.<init>:()V
astore 2
50: goto 69
StackMap locals:
StackMap stack:
51: aload 3
ldc "$uuid"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 54
52: aload 3
ldc "$uuid"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.util.UUID.fromString:(Ljava/lang/String;)Ljava/util/UUID;
astore 2
53: goto 69
StackMap locals:
StackMap stack:
54: aload 3
ldc "$binary"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 61
55: aload 3
ldc "$type"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
instanceof java.lang.String
ifeq 56
aload 3
ldc "$type"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
bipush 16
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;I)Ljava/lang/Integer;
goto 57
StackMap locals:
StackMap stack:
56: aload 3
ldc "$type"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Integer
StackMap locals:
StackMap stack: java.lang.Integer
57: invokevirtual java.lang.Integer.intValue:()I
istore 4
start local 4 58: aload 3
ldc "$binary"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic org.bson.internal.Base64.decode:(Ljava/lang/String;)[B
astore 5
start local 5 59: new org.bson.types.Binary
dup
iload 4
i2b
aload 5
invokespecial org.bson.types.Binary.<init>:(B[B)V
astore 2
end local 5 end local 4 60: goto 69
StackMap locals:
StackMap stack:
61: aload 3
ldc "$undefined"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 64
aload 3
ldc "$undefined"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 64
62: new org.bson.BsonUndefined
dup
invokespecial org.bson.BsonUndefined.<init>:()V
astore 2
63: goto 69
StackMap locals:
StackMap stack:
64: aload 3
ldc "$numberLong"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 67
65: aload 3
ldc "$numberLong"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
astore 2
66: goto 69
StackMap locals:
StackMap stack:
67: aload 3
ldc "$numberDecimal"
invokeinterface org.bson.BSONObject.containsField:(Ljava/lang/String;)Z
ifeq 69
68: aload 3
ldc "$numberDecimal"
invokeinterface org.bson.BSONObject.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic org.bson.types.Decimal128.parse:(Ljava/lang/String;)Lorg/bson/types/Decimal128;
astore 2
69: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mongodb.util.JSONCallback.isStackEmpty:()Z
ifne 72
70: aload 0
aload 1
aload 2
invokevirtual com.mongodb.util.JSONCallback._put:(Ljava/lang/String;Ljava/lang/Object;)V
71: goto 76
72: StackMap locals:
StackMap stack:
invokestatic org.bson.BSON.hasDecodeHooks:()Z
ifne 73
aload 2
goto 74
StackMap locals:
StackMap stack:
73: aload 2
invokestatic org.bson.BSON.applyDecodingHooks:(Ljava/lang/Object;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
74: astore 2
75: aload 0
aload 2
invokevirtual com.mongodb.util.JSONCallback.setRoot:(Ljava/lang/Object;)V
76: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 77 0 this Lcom/mongodb/util/JSONCallback;
1 77 1 name Ljava/lang/String;
2 77 2 o Ljava/lang/Object;
5 77 3 b Lorg/bson/BSONObject;
13 19 4 format Ljava/text/SimpleDateFormat;
27 29 4 ts Ljava/lang/Integer;
28 29 5 inc Ljava/lang/Integer;
32 35 4 tsObject Lorg/bson/BSONObject;
33 35 5 ts Ljava/lang/Integer;
34 35 6 inc Ljava/lang/Integer;
58 60 4 type I
59 60 5 bytes [B
}
SourceFile: "JSONCallback.java"
RuntimeVisibleAnnotations:
java.lang.Deprecated()