Class EncryptOptions

java.lang.Object
com.mongodb.client.model.vault.EncryptOptions

public class EncryptOptions extends Object
The options for explicit encryption.
Since:
3.11
  • Constructor Details

    • EncryptOptions

      public EncryptOptions(String algorithm)
      Construct an instance with the given algorithm.
      Parameters:
      algorithm - the encryption algorithm
      See Also:
  • Method Details

    • getAlgorithm

      public String getAlgorithm()
      Gets the encryption algorithm, which must be either:
      • AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic
      • AEAD_AES_256_CBC_HMAC_SHA_512-Random
      • Indexed
      • Unindexed
      • RangePreview
      Returns:
      the encryption algorithm
    • getKeyId

      @Nullable public BsonBinary getKeyId()
      Gets the key identifier.

      Identifies the data key by its _id value. The value is a UUID (binary subtype 4).

      Returns:
      the key identifier
    • getKeyAltName

      @Nullable public String getKeyAltName()
      Gets the alternate name with which to look up the key.

      Identifies the alternate key name to look up the key by.

      Returns:
      the alternate name
    • keyId

      public EncryptOptions keyId(BsonBinary keyId)
      Sets the key identifier
      Parameters:
      keyId - the key identifier
      Returns:
      this
      See Also:
    • keyAltName

      public EncryptOptions keyAltName(String keyAltName)
      Sets the alternate key name
      Parameters:
      keyAltName - the alternate key name
      Returns:
      this
      See Also:
    • contentionFactor

      public EncryptOptions contentionFactor(@Nullable Long contentionFactor)
      The contention factor.

      It is an error to set contentionFactor when algorithm is not "Indexed" or "RangePreview".

      Note: The Range algorithm is experimental only. It is not intended for public use. It is subject to breaking changes.

      Parameters:
      contentionFactor - the contention factor, which must be >= 0 or null.
      Returns:
      this
      Since:
      4.7
      Since server release
      7.0
    • getContentionFactor

      @Nullable public Long getContentionFactor()
      Gets the contention factor.
      Returns:
      the contention factor
      Since:
      4.7
      See Also:
      Since server release
      7.0
    • queryType

      public EncryptOptions queryType(@Nullable String queryType)
      The QueryType.

      Currently, we support only "equality" or "RangePreview" queryType.

      It is an error to set queryType when the algorithm is not "Indexed" or "RangePreview".

      Note: The Range algorithm is experimental only. It is not intended for public use. It is subject to breaking changes.

      Parameters:
      queryType - the query type
      Returns:
      this
      Since:
      4.7
      Since server release
      7.0
    • getQueryType

      @Nullable public String getQueryType()
      Gets the QueryType.

      Currently, we support only "equality" or "RangePreview" queryType.

      Returns:
      the queryType or null
      Since:
      4.7
      See Also:
      Since server release
      7.0
    • rangeOptions

      @Beta(SERVER) public EncryptOptions rangeOptions(@Nullable RangeOptions rangeOptions)
      The RangeOptions

      It is an error to set RangeOptions when the algorithm is not "RangePreview".

      Note: The Range algorithm is experimental only. It is not intended for public use. It is subject to breaking changes.

      Parameters:
      rangeOptions - the range options
      Returns:
      this
      Since:
      4.9
      MongoDB documentation
      queryable encryption
      Since server release
      6.2
    • getRangeOptions

      @Nullable @Beta(SERVER) public RangeOptions getRangeOptions()
      Gets the RangeOptions
      Returns:
      the range options or null if not set
      Since:
      4.9
      MongoDB documentation
      queryable encryption
      Since server release
      6.2
    • toString

      public String toString()
      Overrides:
      toString in class Object