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
      • Range
      • TextPreview

      The "TextPreview" algorithm is in preview and should be used for experimental workloads only. These features are unstable and their security is not guaranteed until released as Generally Available (GA). The GA version of these features may not be backwards compatible with the preview version.

      Returns:
      the encryption algorithm
    • getKeyId

      @Nullable public org.bson.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(org.bson.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 "Range".

      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", "range", "prefixPreview", "suffixPreview" or "substringPreview" queryType.

      It is an error to set queryType when the algorithm is not "Indexed", "Range" or "TextPreview".

      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 "range" queryType.

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

      public EncryptOptions rangeOptions(@Nullable RangeOptions rangeOptions)
      The RangeOptions

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

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

      @Nullable 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
      8.0
    • textOptions

      @Alpha(SERVER) public EncryptOptions textOptions(@Nullable TextOptions textOptions)
      The TextOptions

      It is an error to set TextOptions when the algorithm is not "TextPreview".

      Parameters:
      textOptions - the text options
      Returns:
      this
      Since:
      5.6
      MongoDB documentation
      queryable encryption
      Since server release
      8.2
    • getTextOptions

      @Alpha(SERVER) @Nullable public TextOptions getTextOptions()
      Gets the TextOptions
      Returns:
      the text options or null if not set
      Since:
      5.6
      See Also:
      MongoDB documentation
      queryable encryption
      Since server release
      8.2
    • toString

      public String toString()
      Overrides:
      toString in class Object