/*
 * 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.cloudera.api.swagger.model.Origin;
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 a Hive replication job.
 */
@Schema(description = "Detailed information about a Hive replication job.")
@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2026-05-19T08:29:59.033Z[Etc/UTC]")

public class ApiHiveOnTezReplicationResult {
  @SerializedName("type")
  private String type = null;

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

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

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

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

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

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

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

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

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

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

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

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

  @SerializedName("origin")
  private Origin origin = null;

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

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

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

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

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

  public ApiHiveOnTezReplicationResult type(String type) {
    this.type = type;
    return this;
  }

   /**
   * Type of replication. &lt;p/&gt; BOOTSTRAP or INCREMENTAL
   * @return type
  **/
  @Schema(description = "Type of replication. <p/> BOOTSTRAP or INCREMENTAL")
  public String getType() {
    return type;
  }

  public void setType(String type) {
    this.type = type;
  }

  public ApiHiveOnTezReplicationResult status(String status) {
    this.status = status;
    return this;
  }

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

  public void setStatus(String status) {
    this.status = status;
  }

  public ApiHiveOnTezReplicationResult error(String error) {
    this.error = error;
    return this;
  }

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

  public void setError(String error) {
    this.error = error;
  }

  public ApiHiveOnTezReplicationResult tablesCurrent(java.math.BigDecimal tablesCurrent) {
    this.tablesCurrent = tablesCurrent;
    return this;
  }

   /**
   * Get tablesCurrent
   * @return tablesCurrent
  **/
  @Schema(required = true, description = "")
  public java.math.BigDecimal getTablesCurrent() {
    return tablesCurrent;
  }

  public void setTablesCurrent(java.math.BigDecimal tablesCurrent) {
    this.tablesCurrent = tablesCurrent;
  }

  public ApiHiveOnTezReplicationResult tablesTotal(java.math.BigDecimal tablesTotal) {
    this.tablesTotal = tablesTotal;
    return this;
  }

   /**
   * Get tablesTotal
   * @return tablesTotal
  **/
  @Schema(required = true, description = "")
  public java.math.BigDecimal getTablesTotal() {
    return tablesTotal;
  }

  public void setTablesTotal(java.math.BigDecimal tablesTotal) {
    this.tablesTotal = tablesTotal;
  }

  public ApiHiveOnTezReplicationResult functionsCurrent(java.math.BigDecimal functionsCurrent) {
    this.functionsCurrent = functionsCurrent;
    return this;
  }

   /**
   * Get functionsCurrent
   * @return functionsCurrent
  **/
  @Schema(required = true, description = "")
  public java.math.BigDecimal getFunctionsCurrent() {
    return functionsCurrent;
  }

  public void setFunctionsCurrent(java.math.BigDecimal functionsCurrent) {
    this.functionsCurrent = functionsCurrent;
  }

  public ApiHiveOnTezReplicationResult functionsTotal(java.math.BigDecimal functionsTotal) {
    this.functionsTotal = functionsTotal;
    return this;
  }

   /**
   * Get functionsTotal
   * @return functionsTotal
  **/
  @Schema(required = true, description = "")
  public java.math.BigDecimal getFunctionsTotal() {
    return functionsTotal;
  }

  public void setFunctionsTotal(java.math.BigDecimal functionsTotal) {
    this.functionsTotal = functionsTotal;
  }

  public ApiHiveOnTezReplicationResult eventsCurrent(java.math.BigDecimal eventsCurrent) {
    this.eventsCurrent = eventsCurrent;
    return this;
  }

   /**
   * Get eventsCurrent
   * @return eventsCurrent
  **/
  @Schema(required = true, description = "")
  public java.math.BigDecimal getEventsCurrent() {
    return eventsCurrent;
  }

  public void setEventsCurrent(java.math.BigDecimal eventsCurrent) {
    this.eventsCurrent = eventsCurrent;
  }

  public ApiHiveOnTezReplicationResult eventsTotal(java.math.BigDecimal eventsTotal) {
    this.eventsTotal = eventsTotal;
    return this;
  }

   /**
   * Get eventsTotal
   * @return eventsTotal
  **/
  @Schema(required = true, description = "")
  public java.math.BigDecimal getEventsTotal() {
    return eventsTotal;
  }

  public void setEventsTotal(java.math.BigDecimal eventsTotal) {
    this.eventsTotal = eventsTotal;
  }

  public ApiHiveOnTezReplicationResult policiesCurrent(java.math.BigDecimal policiesCurrent) {
    this.policiesCurrent = policiesCurrent;
    return this;
  }

   /**
   * Get policiesCurrent
   * @return policiesCurrent
  **/
  @Schema(required = true, description = "")
  public java.math.BigDecimal getPoliciesCurrent() {
    return policiesCurrent;
  }

  public void setPoliciesCurrent(java.math.BigDecimal policiesCurrent) {
    this.policiesCurrent = policiesCurrent;
  }

  public ApiHiveOnTezReplicationResult policiesTotal(java.math.BigDecimal policiesTotal) {
    this.policiesTotal = policiesTotal;
    return this;
  }

   /**
   * Get policiesTotal
   * @return policiesTotal
  **/
  @Schema(required = true, description = "")
  public java.math.BigDecimal getPoliciesTotal() {
    return policiesTotal;
  }

  public void setPoliciesTotal(java.math.BigDecimal policiesTotal) {
    this.policiesTotal = policiesTotal;
  }

  public ApiHiveOnTezReplicationResult entitiesCurrent(java.math.BigDecimal entitiesCurrent) {
    this.entitiesCurrent = entitiesCurrent;
    return this;
  }

   /**
   * Get entitiesCurrent
   * @return entitiesCurrent
  **/
  @Schema(required = true, description = "")
  public java.math.BigDecimal getEntitiesCurrent() {
    return entitiesCurrent;
  }

  public void setEntitiesCurrent(java.math.BigDecimal entitiesCurrent) {
    this.entitiesCurrent = entitiesCurrent;
  }

  public ApiHiveOnTezReplicationResult entitiesTotal(java.math.BigDecimal entitiesTotal) {
    this.entitiesTotal = entitiesTotal;
    return this;
  }

   /**
   * Get entitiesTotal
   * @return entitiesTotal
  **/
  @Schema(required = true, description = "")
  public java.math.BigDecimal getEntitiesTotal() {
    return entitiesTotal;
  }

  public void setEntitiesTotal(java.math.BigDecimal entitiesTotal) {
    this.entitiesTotal = entitiesTotal;
  }

  public ApiHiveOnTezReplicationResult origin(Origin origin) {
    this.origin = origin;
    return this;
  }

   /**
   * Get origin
   * @return origin
  **/
  @Schema(description = "")
  public Origin getOrigin() {
    return origin;
  }

  public void setOrigin(Origin origin) {
    this.origin = origin;
  }

  public ApiHiveOnTezReplicationResult endDateOnSrc(String endDateOnSrc) {
    this.endDateOnSrc = endDateOnSrc;
    return this;
  }

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

  public void setEndDateOnSrc(String endDateOnSrc) {
    this.endDateOnSrc = endDateOnSrc;
  }

  public ApiHiveOnTezReplicationResult endDateOnTgt(String endDateOnTgt) {
    this.endDateOnTgt = endDateOnTgt;
    return this;
  }

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

  public void setEndDateOnTgt(String endDateOnTgt) {
    this.endDateOnTgt = endDateOnTgt;
  }

  public ApiHiveOnTezReplicationResult scheduledExecutionId(java.math.BigDecimal scheduledExecutionId) {
    this.scheduledExecutionId = scheduledExecutionId;
    return this;
  }

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

  public void setScheduledExecutionId(java.math.BigDecimal scheduledExecutionId) {
    this.scheduledExecutionId = scheduledExecutionId;
  }

  public ApiHiveOnTezReplicationResult dumpExecutionId(java.math.BigDecimal dumpExecutionId) {
    this.dumpExecutionId = dumpExecutionId;
    return this;
  }

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

  public void setDumpExecutionId(java.math.BigDecimal dumpExecutionId) {
    this.dumpExecutionId = dumpExecutionId;
  }

  public ApiHiveOnTezReplicationResult lastSuccessfulDumpId(java.math.BigDecimal lastSuccessfulDumpId) {
    this.lastSuccessfulDumpId = lastSuccessfulDumpId;
    return this;
  }

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

  public void setLastSuccessfulDumpId(java.math.BigDecimal lastSuccessfulDumpId) {
    this.lastSuccessfulDumpId = lastSuccessfulDumpId;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    ApiHiveOnTezReplicationResult apiHiveOnTezReplicationResult = (ApiHiveOnTezReplicationResult) o;
    return Objects.equals(this.type, apiHiveOnTezReplicationResult.type) &&
        Objects.equals(this.status, apiHiveOnTezReplicationResult.status) &&
        Objects.equals(this.error, apiHiveOnTezReplicationResult.error) &&
        Objects.equals(this.tablesCurrent, apiHiveOnTezReplicationResult.tablesCurrent) &&
        Objects.equals(this.tablesTotal, apiHiveOnTezReplicationResult.tablesTotal) &&
        Objects.equals(this.functionsCurrent, apiHiveOnTezReplicationResult.functionsCurrent) &&
        Objects.equals(this.functionsTotal, apiHiveOnTezReplicationResult.functionsTotal) &&
        Objects.equals(this.eventsCurrent, apiHiveOnTezReplicationResult.eventsCurrent) &&
        Objects.equals(this.eventsTotal, apiHiveOnTezReplicationResult.eventsTotal) &&
        Objects.equals(this.policiesCurrent, apiHiveOnTezReplicationResult.policiesCurrent) &&
        Objects.equals(this.policiesTotal, apiHiveOnTezReplicationResult.policiesTotal) &&
        Objects.equals(this.entitiesCurrent, apiHiveOnTezReplicationResult.entitiesCurrent) &&
        Objects.equals(this.entitiesTotal, apiHiveOnTezReplicationResult.entitiesTotal) &&
        Objects.equals(this.origin, apiHiveOnTezReplicationResult.origin) &&
        Objects.equals(this.endDateOnSrc, apiHiveOnTezReplicationResult.endDateOnSrc) &&
        Objects.equals(this.endDateOnTgt, apiHiveOnTezReplicationResult.endDateOnTgt) &&
        Objects.equals(this.scheduledExecutionId, apiHiveOnTezReplicationResult.scheduledExecutionId) &&
        Objects.equals(this.dumpExecutionId, apiHiveOnTezReplicationResult.dumpExecutionId) &&
        Objects.equals(this.lastSuccessfulDumpId, apiHiveOnTezReplicationResult.lastSuccessfulDumpId);
  }

  @Override
  public int hashCode() {
    return Objects.hash(type, status, error, tablesCurrent, tablesTotal, functionsCurrent, functionsTotal, eventsCurrent, eventsTotal, policiesCurrent, policiesTotal, entitiesCurrent, entitiesTotal, origin, endDateOnSrc, endDateOnTgt, scheduledExecutionId, dumpExecutionId, lastSuccessfulDumpId);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class ApiHiveOnTezReplicationResult {\n");
    
    sb.append("    type: ").append(toIndentedString(type)).append("\n");
    sb.append("    status: ").append(toIndentedString(status)).append("\n");
    sb.append("    error: ").append(toIndentedString(error)).append("\n");
    sb.append("    tablesCurrent: ").append(toIndentedString(tablesCurrent)).append("\n");
    sb.append("    tablesTotal: ").append(toIndentedString(tablesTotal)).append("\n");
    sb.append("    functionsCurrent: ").append(toIndentedString(functionsCurrent)).append("\n");
    sb.append("    functionsTotal: ").append(toIndentedString(functionsTotal)).append("\n");
    sb.append("    eventsCurrent: ").append(toIndentedString(eventsCurrent)).append("\n");
    sb.append("    eventsTotal: ").append(toIndentedString(eventsTotal)).append("\n");
    sb.append("    policiesCurrent: ").append(toIndentedString(policiesCurrent)).append("\n");
    sb.append("    policiesTotal: ").append(toIndentedString(policiesTotal)).append("\n");
    sb.append("    entitiesCurrent: ").append(toIndentedString(entitiesCurrent)).append("\n");
    sb.append("    entitiesTotal: ").append(toIndentedString(entitiesTotal)).append("\n");
    sb.append("    origin: ").append(toIndentedString(origin)).append("\n");
    sb.append("    endDateOnSrc: ").append(toIndentedString(endDateOnSrc)).append("\n");
    sb.append("    endDateOnTgt: ").append(toIndentedString(endDateOnTgt)).append("\n");
    sb.append("    scheduledExecutionId: ").append(toIndentedString(scheduledExecutionId)).append("\n");
    sb.append("    dumpExecutionId: ").append(toIndentedString(dumpExecutionId)).append("\n");
    sb.append("    lastSuccessfulDumpId: ").append(toIndentedString(lastSuccessfulDumpId)).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    ");
  }

}
