public class com.mongodb.client.internal.ClientEncryptionImpl implements com.mongodb.client.vault.ClientEncryption, java.io.Closeable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.mongodb.client.internal.ClientEncryptionImpl
super_class: java.lang.Object
{
private final com.mongodb.client.internal.Crypt crypt;
descriptor: Lcom/mongodb/client/internal/Crypt;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.mongodb.ClientEncryptionSettings options;
descriptor: Lcom/mongodb/ClientEncryptionSettings;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.mongodb.client.MongoClient keyVaultClient;
descriptor: Lcom/mongodb/client/MongoClient;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(com.mongodb.ClientEncryptionSettings);
descriptor: (Lcom/mongodb/ClientEncryptionSettings;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual com.mongodb.ClientEncryptionSettings.getKeyVaultMongoClientSettings:()Lcom/mongodb/MongoClientSettings;
invokestatic com.mongodb.client.MongoClients.create:(Lcom/mongodb/MongoClientSettings;)Lcom/mongodb/client/MongoClient;
putfield com.mongodb.client.internal.ClientEncryptionImpl.keyVaultClient:Lcom/mongodb/client/MongoClient;
2: aload 0
aload 0
getfield com.mongodb.client.internal.ClientEncryptionImpl.keyVaultClient:Lcom/mongodb/client/MongoClient;
invokestatic com.mongodb.client.internal.SimpleMongoClients.create:(Lcom/mongodb/client/MongoClient;)Lcom/mongodb/client/internal/SimpleMongoClient;
aload 1
invokestatic com.mongodb.client.internal.Crypts.create:(Lcom/mongodb/client/internal/SimpleMongoClient;Lcom/mongodb/ClientEncryptionSettings;)Lcom/mongodb/client/internal/Crypt;
putfield com.mongodb.client.internal.ClientEncryptionImpl.crypt:Lcom/mongodb/client/internal/Crypt;
3: aload 0
aload 1
putfield com.mongodb.client.internal.ClientEncryptionImpl.options:Lcom/mongodb/ClientEncryptionSettings;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mongodb/client/internal/ClientEncryptionImpl;
0 5 1 options Lcom/mongodb/ClientEncryptionSettings;
MethodParameters:
Name Flags
options final
public org.bson.BsonBinary createDataKey(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/bson/BsonBinary;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
new com.mongodb.client.model.vault.DataKeyOptions
dup
invokespecial com.mongodb.client.model.vault.DataKeyOptions.<init>:()V
invokevirtual com.mongodb.client.internal.ClientEncryptionImpl.createDataKey:(Ljava/lang/String;Lcom/mongodb/client/model/vault/DataKeyOptions;)Lorg/bson/BsonBinary;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/client/internal/ClientEncryptionImpl;
0 1 1 kmsProvider Ljava/lang/String;
MethodParameters:
Name Flags
kmsProvider final
public org.bson.BsonBinary createDataKey(java.lang.String, com.mongodb.client.model.vault.DataKeyOptions);
descriptor: (Ljava/lang/String;Lcom/mongodb/client/model/vault/DataKeyOptions;)Lorg/bson/BsonBinary;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.mongodb.client.internal.ClientEncryptionImpl.crypt:Lcom/mongodb/client/internal/Crypt;
aload 1
aload 2
invokevirtual com.mongodb.client.internal.Crypt.createDataKey:(Ljava/lang/String;Lcom/mongodb/client/model/vault/DataKeyOptions;)Lorg/bson/BsonDocument;
astore 3
start local 3 1: new com.mongodb.MongoNamespace
dup
aload 0
getfield com.mongodb.client.internal.ClientEncryptionImpl.options:Lcom/mongodb/ClientEncryptionSettings;
invokevirtual com.mongodb.ClientEncryptionSettings.getKeyVaultNamespace:()Ljava/lang/String;
invokespecial com.mongodb.MongoNamespace.<init>:(Ljava/lang/String;)V
astore 4
start local 4 2: aload 0
getfield com.mongodb.client.internal.ClientEncryptionImpl.keyVaultClient:Lcom/mongodb/client/MongoClient;
aload 4
invokevirtual com.mongodb.MongoNamespace.getDatabaseName:()Ljava/lang/String;
invokeinterface com.mongodb.client.MongoClient.getDatabase:(Ljava/lang/String;)Lcom/mongodb/client/MongoDatabase;
aload 4
invokevirtual com.mongodb.MongoNamespace.getCollectionName:()Ljava/lang/String;
ldc Lorg/bson/BsonDocument;
invokeinterface com.mongodb.client.MongoDatabase.getCollection:(Ljava/lang/String;Ljava/lang/Class;)Lcom/mongodb/client/MongoCollection;
3: getstatic com.mongodb.WriteConcern.MAJORITY:Lcom/mongodb/WriteConcern;
invokeinterface com.mongodb.client.MongoCollection.withWriteConcern:(Lcom/mongodb/WriteConcern;)Lcom/mongodb/client/MongoCollection;
4: aload 3
invokeinterface com.mongodb.client.MongoCollection.insertOne:(Ljava/lang/Object;)V
5: aload 3
ldc "_id"
invokevirtual org.bson.BsonDocument.getBinary:(Ljava/lang/Object;)Lorg/bson/BsonBinary;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/mongodb/client/internal/ClientEncryptionImpl;
0 6 1 kmsProvider Ljava/lang/String;
0 6 2 dataKeyOptions Lcom/mongodb/client/model/vault/DataKeyOptions;
1 6 3 dataKeyDocument Lorg/bson/BsonDocument;
2 6 4 namespace Lcom/mongodb/MongoNamespace;
MethodParameters:
Name Flags
kmsProvider final
dataKeyOptions final
public org.bson.BsonBinary encrypt(org.bson.BsonValue, com.mongodb.client.model.vault.EncryptOptions);
descriptor: (Lorg/bson/BsonValue;Lcom/mongodb/client/model/vault/EncryptOptions;)Lorg/bson/BsonBinary;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.mongodb.client.internal.ClientEncryptionImpl.crypt:Lcom/mongodb/client/internal/Crypt;
aload 1
aload 2
invokevirtual com.mongodb.client.internal.Crypt.encryptExplicitly:(Lorg/bson/BsonValue;Lcom/mongodb/client/model/vault/EncryptOptions;)Lorg/bson/BsonBinary;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/client/internal/ClientEncryptionImpl;
0 1 1 value Lorg/bson/BsonValue;
0 1 2 options Lcom/mongodb/client/model/vault/EncryptOptions;
MethodParameters:
Name Flags
value final
options final
public org.bson.BsonValue decrypt(org.bson.BsonBinary);
descriptor: (Lorg/bson/BsonBinary;)Lorg/bson/BsonValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mongodb.client.internal.ClientEncryptionImpl.crypt:Lcom/mongodb/client/internal/Crypt;
aload 1
invokevirtual com.mongodb.client.internal.Crypt.decryptExplicitly:(Lorg/bson/BsonBinary;)Lorg/bson/BsonValue;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/client/internal/ClientEncryptionImpl;
0 1 1 value Lorg/bson/BsonBinary;
MethodParameters:
Name Flags
value final
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.client.internal.ClientEncryptionImpl.crypt:Lcom/mongodb/client/internal/Crypt;
invokevirtual com.mongodb.client.internal.Crypt.close:()V
1: aload 0
getfield com.mongodb.client.internal.ClientEncryptionImpl.keyVaultClient:Lcom/mongodb/client/MongoClient;
invokeinterface com.mongodb.client.MongoClient.close:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/client/internal/ClientEncryptionImpl;
}
SourceFile: "ClientEncryptionImpl.java"