class com.mongodb.internal.connection.UpdateMessage extends com.mongodb.internal.connection.LegacyMessage
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.internal.connection.UpdateMessage
super_class: com.mongodb.internal.connection.LegacyMessage
{
private final com.mongodb.bulk.UpdateRequest updateRequest;
descriptor: Lcom/mongodb/bulk/UpdateRequest;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.lang.String, com.mongodb.bulk.UpdateRequest, com.mongodb.internal.connection.MessageSettings);
descriptor: (Ljava/lang/String;Lcom/mongodb/bulk/UpdateRequest;Lcom/mongodb/internal/connection/MessageSettings;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 // com.mongodb.internal.connection.UpdateMessage this
start local 1 // java.lang.String collectionName
start local 2 // com.mongodb.bulk.UpdateRequest updateRequest
start local 3 // com.mongodb.internal.connection.MessageSettings settings
0: .line 37
aload 0 /* this */
aload 1 /* collectionName */
getstatic com.mongodb.internal.connection.OpCode.OP_UPDATE:Lcom/mongodb/internal/connection/OpCode;
aload 3 /* settings */
invokespecial com.mongodb.internal.connection.LegacyMessage.<init>:(Ljava/lang/String;Lcom/mongodb/internal/connection/OpCode;Lcom/mongodb/internal/connection/MessageSettings;)V
1: .line 38
aload 0 /* this */
aload 2 /* updateRequest */
putfield com.mongodb.internal.connection.UpdateMessage.updateRequest:Lcom/mongodb/bulk/UpdateRequest;
2: .line 39
return
end local 3 // com.mongodb.internal.connection.MessageSettings settings
end local 2 // com.mongodb.bulk.UpdateRequest updateRequest
end local 1 // java.lang.String collectionName
end local 0 // com.mongodb.internal.connection.UpdateMessage this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/internal/connection/UpdateMessage;
0 3 1 collectionName Ljava/lang/String;
0 3 2 updateRequest Lcom/mongodb/bulk/UpdateRequest;
0 3 3 settings Lcom/mongodb/internal/connection/MessageSettings;
MethodParameters:
Name Flags
collectionName final
updateRequest final
settings final
protected com.mongodb.internal.connection.RequestMessage$EncodingMetadata encodeMessageBodyWithMetadata(org.bson.io.BsonOutput);
descriptor: (Lorg/bson/io/BsonOutput;)Lcom/mongodb/internal/connection/RequestMessage$EncodingMetadata;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=2
start local 0 // com.mongodb.internal.connection.UpdateMessage this
start local 1 // org.bson.io.BsonOutput bsonOutput
0: .line 43
aload 1 /* bsonOutput */
iconst_0
invokeinterface org.bson.io.BsonOutput.writeInt32:(I)V
1: .line 44
aload 1 /* bsonOutput */
aload 0 /* this */
invokevirtual com.mongodb.internal.connection.UpdateMessage.getCollectionName:()Ljava/lang/String;
invokeinterface org.bson.io.BsonOutput.writeCString:(Ljava/lang/String;)V
2: .line 46
iconst_0
istore 2 /* flags */
start local 2 // int flags
3: .line 47
aload 0 /* this */
getfield com.mongodb.internal.connection.UpdateMessage.updateRequest:Lcom/mongodb/bulk/UpdateRequest;
invokevirtual com.mongodb.bulk.UpdateRequest.isUpsert:()Z
ifeq 5
4: .line 48
iload 2 /* flags */
iconst_1
ior
istore 2 /* flags */
5: .line 50
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield com.mongodb.internal.connection.UpdateMessage.updateRequest:Lcom/mongodb/bulk/UpdateRequest;
invokevirtual com.mongodb.bulk.UpdateRequest.isMulti:()Z
ifeq 7
6: .line 51
iload 2 /* flags */
iconst_2
ior
istore 2 /* flags */
7: .line 53
StackMap locals:
StackMap stack:
aload 1 /* bsonOutput */
iload 2 /* flags */
invokeinterface org.bson.io.BsonOutput.writeInt32:(I)V
8: .line 55
aload 1 /* bsonOutput */
invokeinterface org.bson.io.BsonOutput.getPosition:()I
istore 3 /* firstDocumentStartPosition */
start local 3 // int firstDocumentStartPosition
9: .line 57
aload 0 /* this */
aload 0 /* this */
getfield com.mongodb.internal.connection.UpdateMessage.updateRequest:Lcom/mongodb/bulk/UpdateRequest;
invokevirtual com.mongodb.bulk.UpdateRequest.getFilter:()Lorg/bson/BsonDocument;
aload 1 /* bsonOutput */
new com.mongodb.internal.validator.NoOpFieldNameValidator
dup
invokespecial com.mongodb.internal.validator.NoOpFieldNameValidator.<init>:()V
invokevirtual com.mongodb.internal.connection.UpdateMessage.addDocument:(Lorg/bson/BsonDocument;Lorg/bson/io/BsonOutput;Lorg/bson/FieldNameValidator;)V
10: .line 58
aload 0 /* this */
getfield com.mongodb.internal.connection.UpdateMessage.updateRequest:Lcom/mongodb/bulk/UpdateRequest;
invokevirtual com.mongodb.bulk.UpdateRequest.getType:()Lcom/mongodb/bulk/WriteRequest$Type;
getstatic com.mongodb.bulk.WriteRequest$Type.REPLACE:Lcom/mongodb/bulk/WriteRequest$Type;
if_acmpne 13
aload 0 /* this */
getfield com.mongodb.internal.connection.UpdateMessage.updateRequest:Lcom/mongodb/bulk/UpdateRequest;
invokevirtual com.mongodb.bulk.UpdateRequest.getUpdateValue:()Lorg/bson/BsonValue;
invokevirtual org.bson.BsonValue.isDocument:()Z
ifeq 13
11: .line 59
aload 0 /* this */
aload 0 /* this */
getfield com.mongodb.internal.connection.UpdateMessage.updateRequest:Lcom/mongodb/bulk/UpdateRequest;
invokevirtual com.mongodb.bulk.UpdateRequest.getUpdateValue:()Lorg/bson/BsonValue;
invokevirtual org.bson.BsonValue.asDocument:()Lorg/bson/BsonDocument;
aload 1 /* bsonOutput */
new com.mongodb.internal.validator.CollectibleDocumentFieldNameValidator
dup
invokespecial com.mongodb.internal.validator.CollectibleDocumentFieldNameValidator.<init>:()V
invokevirtual com.mongodb.internal.connection.UpdateMessage.addDocument:(Lorg/bson/BsonDocument;Lorg/bson/io/BsonOutput;Lorg/bson/FieldNameValidator;)V
12: .line 60
goto 21
13: .line 61
StackMap locals: int
StackMap stack:
aload 1 /* bsonOutput */
invokeinterface org.bson.io.BsonOutput.getPosition:()I
istore 4 /* bufferPosition */
start local 4 // int bufferPosition
14: .line 62
aload 0 /* this */
getfield com.mongodb.internal.connection.UpdateMessage.updateRequest:Lcom/mongodb/bulk/UpdateRequest;
invokevirtual com.mongodb.bulk.UpdateRequest.getUpdateValue:()Lorg/bson/BsonValue;
astore 5 /* update */
start local 5 // org.bson.BsonValue update
15: .line 63
aload 5 /* update */
invokevirtual org.bson.BsonValue.isDocument:()Z
ifeq 18
16: .line 64
aload 0 /* this */
aload 5 /* update */
invokevirtual org.bson.BsonValue.asDocument:()Lorg/bson/BsonDocument;
aload 1 /* bsonOutput */
new com.mongodb.internal.validator.UpdateFieldNameValidator
dup
invokespecial com.mongodb.internal.validator.UpdateFieldNameValidator.<init>:()V
invokevirtual com.mongodb.internal.connection.UpdateMessage.addDocument:(Lorg/bson/BsonDocument;Lorg/bson/io/BsonOutput;Lorg/bson/FieldNameValidator;)V
17: .line 65
goto 19
18: .line 66
StackMap locals: int org.bson.BsonValue
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid update filter in update request. The filter must be a document."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
19: .line 68
StackMap locals:
StackMap stack:
aload 1 /* bsonOutput */
invokeinterface org.bson.io.BsonOutput.getPosition:()I
iload 4 /* bufferPosition */
iconst_5
iadd
if_icmpne 21
20: .line 69
new java.lang.IllegalArgumentException
dup
ldc "Invalid BSON document for an update"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 5 // org.bson.BsonValue update
end local 4 // int bufferPosition
21: .line 73
StackMap locals:
StackMap stack:
new com.mongodb.internal.connection.RequestMessage$EncodingMetadata
dup
iload 3 /* firstDocumentStartPosition */
invokespecial com.mongodb.internal.connection.RequestMessage$EncodingMetadata.<init>:(I)V
areturn
end local 3 // int firstDocumentStartPosition
end local 2 // int flags
end local 1 // org.bson.io.BsonOutput bsonOutput
end local 0 // com.mongodb.internal.connection.UpdateMessage this
LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/mongodb/internal/connection/UpdateMessage;
0 22 1 bsonOutput Lorg/bson/io/BsonOutput;
3 22 2 flags I
9 22 3 firstDocumentStartPosition I
14 21 4 bufferPosition I
15 21 5 update Lorg/bson/BsonValue;
MethodParameters:
Name Flags
bsonOutput final
}
SourceFile: "UpdateMessage.java"
InnerClasses:
public final Type = com.mongodb.bulk.WriteRequest$Type of com.mongodb.bulk.WriteRequest
EncodingMetadata = com.mongodb.internal.connection.RequestMessage$EncodingMetadata of com.mongodb.internal.connection.RequestMessage