private static void validateAttributeUsage()

in DynamoDbEncryption/runtimes/java/src/main/java/software/amazon/cryptography/dbencryptionsdk/dynamodb/enhancedclient/DynamoDbEnhancedClientEncryption.java [109:147]


  private static void validateAttributeUsage(
    String tableName,
    String attributeName,
    String usage,
    Optional<Set<String>> signOnly,
    Optional<Set<String>> signAndInclude,
    Optional<Set<String>> doNothing
  ) {
    if (signOnly.isPresent()) {
      if (signOnly.get().contains(attributeName)) {
        throwUsageError(
          tableName,
          attributeName,
          usage,
          "@DynamoDbEncryptionSignOnly"
        );
      }
    }
    if (signAndInclude.isPresent()) {
      if (signAndInclude.get().contains(attributeName)) {
        throwUsageError(
          tableName,
          attributeName,
          usage,
          "@DynamoDbEncryptionSignAndIncludeInEncryptionContext"
        );
      }
    }
    if (doNothing.isPresent()) {
      if (doNothing.get().contains(attributeName)) {
        throwUsageError(
          tableName,
          attributeName,
          usage,
          "@DynamoDbEncryptionDoNothing"
        );
      }
    }
  }