Package com.couchbase.client.java.json
Class JsonObjectCrypto
java.lang.Object
com.couchbase.client.java.json.JsonObjectCrypto
A view of a Couchbase
JsonObject
for reading and writing encrypted fields.
The methods of this class mirror the methods of JsonObject
,
and behave the same way except they operate on encrypted values.
Values read via the crypto object are decrypted, and values written
via the view are encrypted.
The JsonObjectCrypto view can only see encrypted fields. Attempting to read an unencrypted field via the view has the same result as if the field does not exist.
New instances are created by calling JsonObject.crypto(com.couchbase.client.core.encryption.CryptoManager)
.
Example usage:
Collection collection = cluster.bucket("myBucket").defaultCollection(); JsonObject document = JsonObject.create(); JsonObjectCrypto crypto = document.crypto(collection); crypto.put("locationOfBuriedTreasure", "Between palm trees"); // This displays the encrypted form of the field System.out.println(document); collection.upsert("treasureMap", document); JsonObject readItBack = collection.get("treasureMap").contentAsObject(); JsonObjectCrypto readItBackCrypto = readItBack.crypto(collection); System.out.println(readItBackCrypto.getString("locationOfBuriedTreasure"));
-
Constructor Summary
ModifierConstructorDescriptionprotected
JsonObjectCrypto
(JsonObject jsonObject, CryptoManager cryptoManager, String encrypterAlias) -
Method Summary
Modifier and TypeMethodDescriptiongetBigDecimal
(String fieldName) getBigInteger
(String fieldName) getBoolean
(String fieldName) Returns the demangled names of all encrypted fields.Returns the names of all unencrypted fields.boolean
hasEncryptedField
(String fieldName) object()
Returns the JsonObject bound to this crypto view.toString()
Returns the String representation of the bound JsonObject.Returns a newJsonObjectCrypto
instance that uses the default encrypter.withEncrypter
(String encrypterAlias) Returns a newJsonObjectCrypto
instance that uses the decrypter identified by the given alias.withObject
(JsonObject object) Returns a new instance that is a view of the given JsonObject.
-
Constructor Details
-
JsonObjectCrypto
protected JsonObjectCrypto(JsonObject jsonObject, CryptoManager cryptoManager, String encrypterAlias) - Parameters:
cryptoManager
- handles the actual encryption and decryptionencrypterAlias
- (nullable) alias of the encrypter to use for writing fields, or null for default encrypter.
-
-
Method Details
-
withEncrypter
Returns a newJsonObjectCrypto
instance that uses the decrypter identified by the given alias. -
withDefaultEncrypter
Returns a newJsonObjectCrypto
instance that uses the default encrypter. -
withObject
Returns a new instance that is a view of the given JsonObject.The returned instance uses the same
CryptoManager
and encrypter alias as this JsonObjectCrypto instance. -
object
Returns the JsonObject bound to this crypto view. -
hasEncryptedField
-
getEncryptedFieldNames
Returns the demangled names of all encrypted fields. -
getUnencryptedFieldNames
Returns the names of all unencrypted fields. -
put
-
get
-
getArray
-
getObject
-
getString
-
getBoolean
-
getInt
-
getLong
-
getDouble
-
getNumber
-
getBigDecimal
-
getBigInteger
-
remove
-
toString
Returns the String representation of the bound JsonObject.
-