private AwsCrypto()

in src/main/java/com/amazonaws/encryptionsdk/AwsCrypto.java [100:125]


  private AwsCrypto(Builder builder) {
    commitmentPolicy_ =
        builder.commitmentPolicy_ == null ? DEFAULT_COMMITMENT_POLICY : builder.commitmentPolicy_;
    if (builder.encryptionAlgorithm_ != null
        && !commitmentPolicy_.algorithmAllowedForEncrypt(builder.encryptionAlgorithm_)) {
      if (commitmentPolicy_ == CommitmentPolicy.ForbidEncryptAllowDecrypt) {
        throw new AwsCryptoException(
            "Configuration conflict. Cannot encrypt due to CommitmentPolicy "
                + commitmentPolicy_
                + " requiring only non-committed messages. Algorithm ID was "
                + builder.encryptionAlgorithm_
                + ". See: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/troubleshooting-migration.html");
      } else {
        throw new AwsCryptoException(
            "Configuration conflict. Cannot encrypt due to CommitmentPolicy "
                + commitmentPolicy_
                + " requiring only committed messages. Algorithm ID was "
                + builder.encryptionAlgorithm_
                + ". See: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/troubleshooting-migration.html");
      }
    }
    encryptionAlgorithm_ = builder.encryptionAlgorithm_;
    encryptionFrameSize_ = builder.encryptionFrameSize_;
    maxEncryptedDataKeys_ = builder.maxEncryptedDataKeys_;
    materialProviders_ = builder.materialProviders_;
  }