public record DlpConfig()

in src/main/java/com/google/cloud/solutions/bqremoteencryptionfn/fns/dlp/DlpConfig.java [26:54]


public record DlpConfig(String deidTemplate, String inspectTemplate) {

  private static final Gson jsonMapper =
      new Gson()
          .newBuilder()
          .setFieldNamingStrategy(
              (Field f) -> "dlp-" + FieldNamingPolicy.LOWER_CASE_WITH_DASHES.translateName(f))
          .create();

  public static DlpConfig fromJson(Map<String, String> nodeTree) {
    return jsonMapper.fromJson(jsonMapper.toJsonTree(nodeTree), DlpConfig.class);
  }

  public static DlpConfig fromJson(String json) {
    return jsonMapper.fromJson(json, DlpConfig.class);
  }

  public boolean hasInspectTemplate() {
    return !Strings.isNullOrEmpty(inspectTemplate);
  }

  public boolean hasDlpDeidTemplate() {
    return !Strings.isNullOrEmpty(deidTemplate);
  }

  public String toJson() {
    return jsonMapper.toJson(this);
  }
}