/*
 * Cloudera Manager API
 * <h1>Cloudera Manager API v57</h1>       <p>Introduced in Cloudera Manager 7.13.1</p>       <p><a href=\"http://www.cloudera.com/documentation.html\">Cloudera Product Documentation</a></p>
 *
 * OpenAPI spec version: 7.13.1
 * 
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */

package com.cloudera.api.swagger.model;

import java.util.Objects;
import java.util.Arrays;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.IOException;
/**
 * Detailed information about an ICEBERG replication job.
 */
@Schema(description = "Detailed information about an ICEBERG replication job.")
@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2026-05-19T08:29:59.033Z[Etc/UTC]")

public class ApiIcebergReplicationResult {
  @SerializedName("numberOfTablesProcessed")
  private java.math.BigDecimal numberOfTablesProcessed = null;

  @SerializedName("numberOfFilesCopied")
  private java.math.BigDecimal numberOfFilesCopied = null;

  @SerializedName("numberOfFilesDeleted")
  private java.math.BigDecimal numberOfFilesDeleted = null;

  @SerializedName("numberOfManifestsTransformed")
  private java.math.BigDecimal numberOfManifestsTransformed = null;

  @SerializedName("failed")
  private Boolean failed = null;

  @SerializedName("timestamp")
  private String timestamp = null;

  @SerializedName("copyMetadataJobDetailsUri")
  private String copyMetadataJobDetailsUri = null;

  @SerializedName("copyDataJobDetailsUri")
  private String copyDataJobDetailsUri = null;

  @SerializedName("copyDeleteDataJobDetailsUri")
  private String copyDeleteDataJobDetailsUri = null;

  @SerializedName("copyMetadataJobId")
  private String copyMetadataJobId = null;

  @SerializedName("copyDataJobId")
  private String copyDataJobId = null;

  @SerializedName("copyDeleteDataJobId")
  private String copyDeleteDataJobId = null;

  @SerializedName("peerName")
  private String peerName = null;

  @SerializedName("peerClusterName")
  private String peerClusterName = null;

  public ApiIcebergReplicationResult numberOfTablesProcessed(java.math.BigDecimal numberOfTablesProcessed) {
    this.numberOfTablesProcessed = numberOfTablesProcessed;
    return this;
  }

   /**
   * Get numberOfTablesProcessed
   * @return numberOfTablesProcessed
  **/
  @Schema(description = "")
  public java.math.BigDecimal getNumberOfTablesProcessed() {
    return numberOfTablesProcessed;
  }

  public void setNumberOfTablesProcessed(java.math.BigDecimal numberOfTablesProcessed) {
    this.numberOfTablesProcessed = numberOfTablesProcessed;
  }

  public ApiIcebergReplicationResult numberOfFilesCopied(java.math.BigDecimal numberOfFilesCopied) {
    this.numberOfFilesCopied = numberOfFilesCopied;
    return this;
  }

   /**
   * Get numberOfFilesCopied
   * @return numberOfFilesCopied
  **/
  @Schema(description = "")
  public java.math.BigDecimal getNumberOfFilesCopied() {
    return numberOfFilesCopied;
  }

  public void setNumberOfFilesCopied(java.math.BigDecimal numberOfFilesCopied) {
    this.numberOfFilesCopied = numberOfFilesCopied;
  }

  public ApiIcebergReplicationResult numberOfFilesDeleted(java.math.BigDecimal numberOfFilesDeleted) {
    this.numberOfFilesDeleted = numberOfFilesDeleted;
    return this;
  }

   /**
   * Get numberOfFilesDeleted
   * @return numberOfFilesDeleted
  **/
  @Schema(description = "")
  public java.math.BigDecimal getNumberOfFilesDeleted() {
    return numberOfFilesDeleted;
  }

  public void setNumberOfFilesDeleted(java.math.BigDecimal numberOfFilesDeleted) {
    this.numberOfFilesDeleted = numberOfFilesDeleted;
  }

  public ApiIcebergReplicationResult numberOfManifestsTransformed(java.math.BigDecimal numberOfManifestsTransformed) {
    this.numberOfManifestsTransformed = numberOfManifestsTransformed;
    return this;
  }

   /**
   * Get numberOfManifestsTransformed
   * @return numberOfManifestsTransformed
  **/
  @Schema(description = "")
  public java.math.BigDecimal getNumberOfManifestsTransformed() {
    return numberOfManifestsTransformed;
  }

  public void setNumberOfManifestsTransformed(java.math.BigDecimal numberOfManifestsTransformed) {
    this.numberOfManifestsTransformed = numberOfManifestsTransformed;
  }

  public ApiIcebergReplicationResult failed(Boolean failed) {
    this.failed = failed;
    return this;
  }

   /**
   * Get failed
   * @return failed
  **/
  @Schema(description = "")
  public Boolean isFailed() {
    return failed;
  }

  public void setFailed(Boolean failed) {
    this.failed = failed;
  }

  public ApiIcebergReplicationResult timestamp(String timestamp) {
    this.timestamp = timestamp;
    return this;
  }

   /**
   * Get timestamp
   * @return timestamp
  **/
  @Schema(description = "")
  public String getTimestamp() {
    return timestamp;
  }

  public void setTimestamp(String timestamp) {
    this.timestamp = timestamp;
  }

  public ApiIcebergReplicationResult copyMetadataJobDetailsUri(String copyMetadataJobDetailsUri) {
    this.copyMetadataJobDetailsUri = copyMetadataJobDetailsUri;
    return this;
  }

   /**
   * Get copyMetadataJobDetailsUri
   * @return copyMetadataJobDetailsUri
  **/
  @Schema(description = "")
  public String getCopyMetadataJobDetailsUri() {
    return copyMetadataJobDetailsUri;
  }

  public void setCopyMetadataJobDetailsUri(String copyMetadataJobDetailsUri) {
    this.copyMetadataJobDetailsUri = copyMetadataJobDetailsUri;
  }

  public ApiIcebergReplicationResult copyDataJobDetailsUri(String copyDataJobDetailsUri) {
    this.copyDataJobDetailsUri = copyDataJobDetailsUri;
    return this;
  }

   /**
   * Get copyDataJobDetailsUri
   * @return copyDataJobDetailsUri
  **/
  @Schema(description = "")
  public String getCopyDataJobDetailsUri() {
    return copyDataJobDetailsUri;
  }

  public void setCopyDataJobDetailsUri(String copyDataJobDetailsUri) {
    this.copyDataJobDetailsUri = copyDataJobDetailsUri;
  }

  public ApiIcebergReplicationResult copyDeleteDataJobDetailsUri(String copyDeleteDataJobDetailsUri) {
    this.copyDeleteDataJobDetailsUri = copyDeleteDataJobDetailsUri;
    return this;
  }

   /**
   * Get copyDeleteDataJobDetailsUri
   * @return copyDeleteDataJobDetailsUri
  **/
  @Schema(description = "")
  public String getCopyDeleteDataJobDetailsUri() {
    return copyDeleteDataJobDetailsUri;
  }

  public void setCopyDeleteDataJobDetailsUri(String copyDeleteDataJobDetailsUri) {
    this.copyDeleteDataJobDetailsUri = copyDeleteDataJobDetailsUri;
  }

  public ApiIcebergReplicationResult copyMetadataJobId(String copyMetadataJobId) {
    this.copyMetadataJobId = copyMetadataJobId;
    return this;
  }

   /**
   * Get copyMetadataJobId
   * @return copyMetadataJobId
  **/
  @Schema(description = "")
  public String getCopyMetadataJobId() {
    return copyMetadataJobId;
  }

  public void setCopyMetadataJobId(String copyMetadataJobId) {
    this.copyMetadataJobId = copyMetadataJobId;
  }

  public ApiIcebergReplicationResult copyDataJobId(String copyDataJobId) {
    this.copyDataJobId = copyDataJobId;
    return this;
  }

   /**
   * Get copyDataJobId
   * @return copyDataJobId
  **/
  @Schema(description = "")
  public String getCopyDataJobId() {
    return copyDataJobId;
  }

  public void setCopyDataJobId(String copyDataJobId) {
    this.copyDataJobId = copyDataJobId;
  }

  public ApiIcebergReplicationResult copyDeleteDataJobId(String copyDeleteDataJobId) {
    this.copyDeleteDataJobId = copyDeleteDataJobId;
    return this;
  }

   /**
   * Get copyDeleteDataJobId
   * @return copyDeleteDataJobId
  **/
  @Schema(description = "")
  public String getCopyDeleteDataJobId() {
    return copyDeleteDataJobId;
  }

  public void setCopyDeleteDataJobId(String copyDeleteDataJobId) {
    this.copyDeleteDataJobId = copyDeleteDataJobId;
  }

  public ApiIcebergReplicationResult peerName(String peerName) {
    this.peerName = peerName;
    return this;
  }

   /**
   * Get peerName
   * @return peerName
  **/
  @Schema(description = "")
  public String getPeerName() {
    return peerName;
  }

  public void setPeerName(String peerName) {
    this.peerName = peerName;
  }

  public ApiIcebergReplicationResult peerClusterName(String peerClusterName) {
    this.peerClusterName = peerClusterName;
    return this;
  }

   /**
   * Get peerClusterName
   * @return peerClusterName
  **/
  @Schema(description = "")
  public String getPeerClusterName() {
    return peerClusterName;
  }

  public void setPeerClusterName(String peerClusterName) {
    this.peerClusterName = peerClusterName;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    ApiIcebergReplicationResult apiIcebergReplicationResult = (ApiIcebergReplicationResult) o;
    return Objects.equals(this.numberOfTablesProcessed, apiIcebergReplicationResult.numberOfTablesProcessed) &&
        Objects.equals(this.numberOfFilesCopied, apiIcebergReplicationResult.numberOfFilesCopied) &&
        Objects.equals(this.numberOfFilesDeleted, apiIcebergReplicationResult.numberOfFilesDeleted) &&
        Objects.equals(this.numberOfManifestsTransformed, apiIcebergReplicationResult.numberOfManifestsTransformed) &&
        Objects.equals(this.failed, apiIcebergReplicationResult.failed) &&
        Objects.equals(this.timestamp, apiIcebergReplicationResult.timestamp) &&
        Objects.equals(this.copyMetadataJobDetailsUri, apiIcebergReplicationResult.copyMetadataJobDetailsUri) &&
        Objects.equals(this.copyDataJobDetailsUri, apiIcebergReplicationResult.copyDataJobDetailsUri) &&
        Objects.equals(this.copyDeleteDataJobDetailsUri, apiIcebergReplicationResult.copyDeleteDataJobDetailsUri) &&
        Objects.equals(this.copyMetadataJobId, apiIcebergReplicationResult.copyMetadataJobId) &&
        Objects.equals(this.copyDataJobId, apiIcebergReplicationResult.copyDataJobId) &&
        Objects.equals(this.copyDeleteDataJobId, apiIcebergReplicationResult.copyDeleteDataJobId) &&
        Objects.equals(this.peerName, apiIcebergReplicationResult.peerName) &&
        Objects.equals(this.peerClusterName, apiIcebergReplicationResult.peerClusterName);
  }

  @Override
  public int hashCode() {
    return Objects.hash(numberOfTablesProcessed, numberOfFilesCopied, numberOfFilesDeleted, numberOfManifestsTransformed, failed, timestamp, copyMetadataJobDetailsUri, copyDataJobDetailsUri, copyDeleteDataJobDetailsUri, copyMetadataJobId, copyDataJobId, copyDeleteDataJobId, peerName, peerClusterName);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class ApiIcebergReplicationResult {\n");
    
    sb.append("    numberOfTablesProcessed: ").append(toIndentedString(numberOfTablesProcessed)).append("\n");
    sb.append("    numberOfFilesCopied: ").append(toIndentedString(numberOfFilesCopied)).append("\n");
    sb.append("    numberOfFilesDeleted: ").append(toIndentedString(numberOfFilesDeleted)).append("\n");
    sb.append("    numberOfManifestsTransformed: ").append(toIndentedString(numberOfManifestsTransformed)).append("\n");
    sb.append("    failed: ").append(toIndentedString(failed)).append("\n");
    sb.append("    timestamp: ").append(toIndentedString(timestamp)).append("\n");
    sb.append("    copyMetadataJobDetailsUri: ").append(toIndentedString(copyMetadataJobDetailsUri)).append("\n");
    sb.append("    copyDataJobDetailsUri: ").append(toIndentedString(copyDataJobDetailsUri)).append("\n");
    sb.append("    copyDeleteDataJobDetailsUri: ").append(toIndentedString(copyDeleteDataJobDetailsUri)).append("\n");
    sb.append("    copyMetadataJobId: ").append(toIndentedString(copyMetadataJobId)).append("\n");
    sb.append("    copyDataJobId: ").append(toIndentedString(copyDataJobId)).append("\n");
    sb.append("    copyDeleteDataJobId: ").append(toIndentedString(copyDeleteDataJobId)).append("\n");
    sb.append("    peerName: ").append(toIndentedString(peerName)).append("\n");
    sb.append("    peerClusterName: ").append(toIndentedString(peerClusterName)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

}
