/*
 * Swagger of Opencellsoft Api
 * @#Introduction
 *
 * The version of the OpenAPI document: 7.3.1-SNAPSHOT
 * Contact: contact@opencellsoft.fr
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package org.openapitools.client.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.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.math.BigDecimal;
import org.openapitools.client.model.Subscription;
import org.threeten.bp.OffsetDateTime;

/**
 * EDR
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2019-09-13T10:03:17.753Z[GMT]")
public class EDR {
  public static final String SERIALIZED_NAME_ID = "id";
  @SerializedName(SERIALIZED_NAME_ID)
  private Long id;

  public static final String SERIALIZED_NAME_VERSION = "version";
  @SerializedName(SERIALIZED_NAME_VERSION)
  private Integer version;

  public static final String SERIALIZED_NAME_SUBSCRIPTION = "subscription";
  @SerializedName(SERIALIZED_NAME_SUBSCRIPTION)
  private Subscription subscription;

  public static final String SERIALIZED_NAME_ORIGIN_BATCH = "originBatch";
  @SerializedName(SERIALIZED_NAME_ORIGIN_BATCH)
  private String originBatch;

  public static final String SERIALIZED_NAME_ORIGIN_RECORD = "originRecord";
  @SerializedName(SERIALIZED_NAME_ORIGIN_RECORD)
  private String originRecord;

  public static final String SERIALIZED_NAME_EVENT_DATE = "eventDate";
  @SerializedName(SERIALIZED_NAME_EVENT_DATE)
  private OffsetDateTime eventDate;

  public static final String SERIALIZED_NAME_QUANTITY = "quantity";
  @SerializedName(SERIALIZED_NAME_QUANTITY)
  private BigDecimal quantity;

  public static final String SERIALIZED_NAME_PARAMETER1 = "parameter1";
  @SerializedName(SERIALIZED_NAME_PARAMETER1)
  private String parameter1;

  public static final String SERIALIZED_NAME_PARAMETER2 = "parameter2";
  @SerializedName(SERIALIZED_NAME_PARAMETER2)
  private String parameter2;

  public static final String SERIALIZED_NAME_PARAMETER3 = "parameter3";
  @SerializedName(SERIALIZED_NAME_PARAMETER3)
  private String parameter3;

  public static final String SERIALIZED_NAME_PARAMETER4 = "parameter4";
  @SerializedName(SERIALIZED_NAME_PARAMETER4)
  private String parameter4;

  public static final String SERIALIZED_NAME_PARAMETER5 = "parameter5";
  @SerializedName(SERIALIZED_NAME_PARAMETER5)
  private String parameter5;

  public static final String SERIALIZED_NAME_PARAMETER6 = "parameter6";
  @SerializedName(SERIALIZED_NAME_PARAMETER6)
  private String parameter6;

  public static final String SERIALIZED_NAME_PARAMETER7 = "parameter7";
  @SerializedName(SERIALIZED_NAME_PARAMETER7)
  private String parameter7;

  public static final String SERIALIZED_NAME_PARAMETER8 = "parameter8";
  @SerializedName(SERIALIZED_NAME_PARAMETER8)
  private String parameter8;

  public static final String SERIALIZED_NAME_PARAMETER9 = "parameter9";
  @SerializedName(SERIALIZED_NAME_PARAMETER9)
  private String parameter9;

  public static final String SERIALIZED_NAME_DATE_PARAM1 = "dateParam1";
  @SerializedName(SERIALIZED_NAME_DATE_PARAM1)
  private OffsetDateTime dateParam1;

  public static final String SERIALIZED_NAME_DATE_PARAM2 = "dateParam2";
  @SerializedName(SERIALIZED_NAME_DATE_PARAM2)
  private OffsetDateTime dateParam2;

  public static final String SERIALIZED_NAME_DATE_PARAM3 = "dateParam3";
  @SerializedName(SERIALIZED_NAME_DATE_PARAM3)
  private OffsetDateTime dateParam3;

  public static final String SERIALIZED_NAME_DATE_PARAM4 = "dateParam4";
  @SerializedName(SERIALIZED_NAME_DATE_PARAM4)
  private OffsetDateTime dateParam4;

  public static final String SERIALIZED_NAME_DATE_PARAM5 = "dateParam5";
  @SerializedName(SERIALIZED_NAME_DATE_PARAM5)
  private OffsetDateTime dateParam5;

  public static final String SERIALIZED_NAME_DECIMAL_PARAM1 = "decimalParam1";
  @SerializedName(SERIALIZED_NAME_DECIMAL_PARAM1)
  private BigDecimal decimalParam1;

  public static final String SERIALIZED_NAME_DECIMAL_PARAM2 = "decimalParam2";
  @SerializedName(SERIALIZED_NAME_DECIMAL_PARAM2)
  private BigDecimal decimalParam2;

  public static final String SERIALIZED_NAME_DECIMAL_PARAM3 = "decimalParam3";
  @SerializedName(SERIALIZED_NAME_DECIMAL_PARAM3)
  private BigDecimal decimalParam3;

  public static final String SERIALIZED_NAME_DECIMAL_PARAM4 = "decimalParam4";
  @SerializedName(SERIALIZED_NAME_DECIMAL_PARAM4)
  private BigDecimal decimalParam4;

  public static final String SERIALIZED_NAME_DECIMAL_PARAM5 = "decimalParam5";
  @SerializedName(SERIALIZED_NAME_DECIMAL_PARAM5)
  private BigDecimal decimalParam5;

  /**
   * Gets or Sets status
   */
  @JsonAdapter(StatusEnum.Adapter.class)
  public enum StatusEnum {
    OPEN("OPEN"),
    
    RATED("RATED"),
    
    REJECTED("REJECTED"),
    
    MEDIATING("MEDIATING"),
    
    AGGREGATED("AGGREGATED");

    private String value;

    StatusEnum(String value) {
      this.value = value;
    }

    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    public static StatusEnum fromValue(String value) {
      for (StatusEnum b : StatusEnum.values()) {
        if (b.value.equals(value)) {
          return b;
        }
      }
      throw new IllegalArgumentException("Unexpected value '" + value + "'");
    }

    public static class Adapter extends TypeAdapter<StatusEnum> {
      @Override
      public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException {
        jsonWriter.value(enumeration.getValue());
      }

      @Override
      public StatusEnum read(final JsonReader jsonReader) throws IOException {
        String value = jsonReader.nextString();
        return StatusEnum.fromValue(value);
      }
    }
  }

  public static final String SERIALIZED_NAME_STATUS = "status";
  @SerializedName(SERIALIZED_NAME_STATUS)
  private StatusEnum status;

  public static final String SERIALIZED_NAME_REJECT_REASON = "rejectReason";
  @SerializedName(SERIALIZED_NAME_REJECT_REASON)
  private String rejectReason;

  public static final String SERIALIZED_NAME_CREATED = "created";
  @SerializedName(SERIALIZED_NAME_CREATED)
  private OffsetDateTime created;

  public static final String SERIALIZED_NAME_LAST_UPDATE = "lastUpdate";
  @SerializedName(SERIALIZED_NAME_LAST_UPDATE)
  private OffsetDateTime lastUpdate;

  public static final String SERIALIZED_NAME_ACCESS_CODE = "accessCode";
  @SerializedName(SERIALIZED_NAME_ACCESS_CODE)
  private String accessCode;

  public static final String SERIALIZED_NAME_HEADER_E_D_R = "headerEDR";
  @SerializedName(SERIALIZED_NAME_HEADER_E_D_R)
  private EDR headerEDR;

  public static final String SERIALIZED_NAME_EXTRA_PARAMETER = "extraParameter";
  @SerializedName(SERIALIZED_NAME_EXTRA_PARAMETER)
  private String extraParameter;

  public static final String SERIALIZED_NAME_TRANSIENT = "transient";
  @SerializedName(SERIALIZED_NAME_TRANSIENT)
  private Boolean _transient;


  public EDR id(Long id) {
    
    this.id = id;
    return this;
  }

   /**
   * Get id
   * @return id
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Long getId() {
    return id;
  }



  public void setId(Long id) {
    this.id = id;
  }


  public EDR version(Integer version) {
    
    this.version = version;
    return this;
  }

   /**
   * Get version
   * @return version
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Integer getVersion() {
    return version;
  }



  public void setVersion(Integer version) {
    this.version = version;
  }


  public EDR subscription(Subscription subscription) {
    
    this.subscription = subscription;
    return this;
  }

   /**
   * Get subscription
   * @return subscription
  **/
  @ApiModelProperty(required = true, value = "")

  public Subscription getSubscription() {
    return subscription;
  }



  public void setSubscription(Subscription subscription) {
    this.subscription = subscription;
  }


  public EDR originBatch(String originBatch) {
    
    this.originBatch = originBatch;
    return this;
  }

   /**
   * Get originBatch
   * @return originBatch
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getOriginBatch() {
    return originBatch;
  }



  public void setOriginBatch(String originBatch) {
    this.originBatch = originBatch;
  }


  public EDR originRecord(String originRecord) {
    
    this.originRecord = originRecord;
    return this;
  }

   /**
   * Get originRecord
   * @return originRecord
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getOriginRecord() {
    return originRecord;
  }



  public void setOriginRecord(String originRecord) {
    this.originRecord = originRecord;
  }


  public EDR eventDate(OffsetDateTime eventDate) {
    
    this.eventDate = eventDate;
    return this;
  }

   /**
   * Get eventDate
   * @return eventDate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getEventDate() {
    return eventDate;
  }



  public void setEventDate(OffsetDateTime eventDate) {
    this.eventDate = eventDate;
  }


  public EDR quantity(BigDecimal quantity) {
    
    this.quantity = quantity;
    return this;
  }

   /**
   * Get quantity
   * @return quantity
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public BigDecimal getQuantity() {
    return quantity;
  }



  public void setQuantity(BigDecimal quantity) {
    this.quantity = quantity;
  }


  public EDR parameter1(String parameter1) {
    
    this.parameter1 = parameter1;
    return this;
  }

   /**
   * Get parameter1
   * @return parameter1
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getParameter1() {
    return parameter1;
  }



  public void setParameter1(String parameter1) {
    this.parameter1 = parameter1;
  }


  public EDR parameter2(String parameter2) {
    
    this.parameter2 = parameter2;
    return this;
  }

   /**
   * Get parameter2
   * @return parameter2
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getParameter2() {
    return parameter2;
  }



  public void setParameter2(String parameter2) {
    this.parameter2 = parameter2;
  }


  public EDR parameter3(String parameter3) {
    
    this.parameter3 = parameter3;
    return this;
  }

   /**
   * Get parameter3
   * @return parameter3
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getParameter3() {
    return parameter3;
  }



  public void setParameter3(String parameter3) {
    this.parameter3 = parameter3;
  }


  public EDR parameter4(String parameter4) {
    
    this.parameter4 = parameter4;
    return this;
  }

   /**
   * Get parameter4
   * @return parameter4
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getParameter4() {
    return parameter4;
  }



  public void setParameter4(String parameter4) {
    this.parameter4 = parameter4;
  }


  public EDR parameter5(String parameter5) {
    
    this.parameter5 = parameter5;
    return this;
  }

   /**
   * Get parameter5
   * @return parameter5
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getParameter5() {
    return parameter5;
  }



  public void setParameter5(String parameter5) {
    this.parameter5 = parameter5;
  }


  public EDR parameter6(String parameter6) {
    
    this.parameter6 = parameter6;
    return this;
  }

   /**
   * Get parameter6
   * @return parameter6
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getParameter6() {
    return parameter6;
  }



  public void setParameter6(String parameter6) {
    this.parameter6 = parameter6;
  }


  public EDR parameter7(String parameter7) {
    
    this.parameter7 = parameter7;
    return this;
  }

   /**
   * Get parameter7
   * @return parameter7
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getParameter7() {
    return parameter7;
  }



  public void setParameter7(String parameter7) {
    this.parameter7 = parameter7;
  }


  public EDR parameter8(String parameter8) {
    
    this.parameter8 = parameter8;
    return this;
  }

   /**
   * Get parameter8
   * @return parameter8
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getParameter8() {
    return parameter8;
  }



  public void setParameter8(String parameter8) {
    this.parameter8 = parameter8;
  }


  public EDR parameter9(String parameter9) {
    
    this.parameter9 = parameter9;
    return this;
  }

   /**
   * Get parameter9
   * @return parameter9
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getParameter9() {
    return parameter9;
  }



  public void setParameter9(String parameter9) {
    this.parameter9 = parameter9;
  }


  public EDR dateParam1(OffsetDateTime dateParam1) {
    
    this.dateParam1 = dateParam1;
    return this;
  }

   /**
   * Get dateParam1
   * @return dateParam1
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getDateParam1() {
    return dateParam1;
  }



  public void setDateParam1(OffsetDateTime dateParam1) {
    this.dateParam1 = dateParam1;
  }


  public EDR dateParam2(OffsetDateTime dateParam2) {
    
    this.dateParam2 = dateParam2;
    return this;
  }

   /**
   * Get dateParam2
   * @return dateParam2
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getDateParam2() {
    return dateParam2;
  }



  public void setDateParam2(OffsetDateTime dateParam2) {
    this.dateParam2 = dateParam2;
  }


  public EDR dateParam3(OffsetDateTime dateParam3) {
    
    this.dateParam3 = dateParam3;
    return this;
  }

   /**
   * Get dateParam3
   * @return dateParam3
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getDateParam3() {
    return dateParam3;
  }



  public void setDateParam3(OffsetDateTime dateParam3) {
    this.dateParam3 = dateParam3;
  }


  public EDR dateParam4(OffsetDateTime dateParam4) {
    
    this.dateParam4 = dateParam4;
    return this;
  }

   /**
   * Get dateParam4
   * @return dateParam4
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getDateParam4() {
    return dateParam4;
  }



  public void setDateParam4(OffsetDateTime dateParam4) {
    this.dateParam4 = dateParam4;
  }


  public EDR dateParam5(OffsetDateTime dateParam5) {
    
    this.dateParam5 = dateParam5;
    return this;
  }

   /**
   * Get dateParam5
   * @return dateParam5
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getDateParam5() {
    return dateParam5;
  }



  public void setDateParam5(OffsetDateTime dateParam5) {
    this.dateParam5 = dateParam5;
  }


  public EDR decimalParam1(BigDecimal decimalParam1) {
    
    this.decimalParam1 = decimalParam1;
    return this;
  }

   /**
   * Get decimalParam1
   * @return decimalParam1
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public BigDecimal getDecimalParam1() {
    return decimalParam1;
  }



  public void setDecimalParam1(BigDecimal decimalParam1) {
    this.decimalParam1 = decimalParam1;
  }


  public EDR decimalParam2(BigDecimal decimalParam2) {
    
    this.decimalParam2 = decimalParam2;
    return this;
  }

   /**
   * Get decimalParam2
   * @return decimalParam2
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public BigDecimal getDecimalParam2() {
    return decimalParam2;
  }



  public void setDecimalParam2(BigDecimal decimalParam2) {
    this.decimalParam2 = decimalParam2;
  }


  public EDR decimalParam3(BigDecimal decimalParam3) {
    
    this.decimalParam3 = decimalParam3;
    return this;
  }

   /**
   * Get decimalParam3
   * @return decimalParam3
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public BigDecimal getDecimalParam3() {
    return decimalParam3;
  }



  public void setDecimalParam3(BigDecimal decimalParam3) {
    this.decimalParam3 = decimalParam3;
  }


  public EDR decimalParam4(BigDecimal decimalParam4) {
    
    this.decimalParam4 = decimalParam4;
    return this;
  }

   /**
   * Get decimalParam4
   * @return decimalParam4
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public BigDecimal getDecimalParam4() {
    return decimalParam4;
  }



  public void setDecimalParam4(BigDecimal decimalParam4) {
    this.decimalParam4 = decimalParam4;
  }


  public EDR decimalParam5(BigDecimal decimalParam5) {
    
    this.decimalParam5 = decimalParam5;
    return this;
  }

   /**
   * Get decimalParam5
   * @return decimalParam5
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public BigDecimal getDecimalParam5() {
    return decimalParam5;
  }



  public void setDecimalParam5(BigDecimal decimalParam5) {
    this.decimalParam5 = decimalParam5;
  }


  public EDR status(StatusEnum status) {
    
    this.status = status;
    return this;
  }

   /**
   * Get status
   * @return status
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public StatusEnum getStatus() {
    return status;
  }



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


  public EDR rejectReason(String rejectReason) {
    
    this.rejectReason = rejectReason;
    return this;
  }

   /**
   * Get rejectReason
   * @return rejectReason
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getRejectReason() {
    return rejectReason;
  }



  public void setRejectReason(String rejectReason) {
    this.rejectReason = rejectReason;
  }


  public EDR created(OffsetDateTime created) {
    
    this.created = created;
    return this;
  }

   /**
   * Get created
   * @return created
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getCreated() {
    return created;
  }



  public void setCreated(OffsetDateTime created) {
    this.created = created;
  }


  public EDR lastUpdate(OffsetDateTime lastUpdate) {
    
    this.lastUpdate = lastUpdate;
    return this;
  }

   /**
   * Get lastUpdate
   * @return lastUpdate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public OffsetDateTime getLastUpdate() {
    return lastUpdate;
  }



  public void setLastUpdate(OffsetDateTime lastUpdate) {
    this.lastUpdate = lastUpdate;
  }


  public EDR accessCode(String accessCode) {
    
    this.accessCode = accessCode;
    return this;
  }

   /**
   * Get accessCode
   * @return accessCode
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getAccessCode() {
    return accessCode;
  }



  public void setAccessCode(String accessCode) {
    this.accessCode = accessCode;
  }


  public EDR headerEDR(EDR headerEDR) {
    
    this.headerEDR = headerEDR;
    return this;
  }

   /**
   * Get headerEDR
   * @return headerEDR
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public EDR getHeaderEDR() {
    return headerEDR;
  }



  public void setHeaderEDR(EDR headerEDR) {
    this.headerEDR = headerEDR;
  }


  public EDR extraParameter(String extraParameter) {
    
    this.extraParameter = extraParameter;
    return this;
  }

   /**
   * Get extraParameter
   * @return extraParameter
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public String getExtraParameter() {
    return extraParameter;
  }



  public void setExtraParameter(String extraParameter) {
    this.extraParameter = extraParameter;
  }


  public EDR _transient(Boolean _transient) {
    
    this._transient = _transient;
    return this;
  }

   /**
   * Get _transient
   * @return _transient
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public Boolean getTransient() {
    return _transient;
  }



  public void setTransient(Boolean _transient) {
    this._transient = _transient;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    EDR EDR = (EDR) o;
    return Objects.equals(this.id, EDR.id) &&
        Objects.equals(this.version, EDR.version) &&
        Objects.equals(this.subscription, EDR.subscription) &&
        Objects.equals(this.originBatch, EDR.originBatch) &&
        Objects.equals(this.originRecord, EDR.originRecord) &&
        Objects.equals(this.eventDate, EDR.eventDate) &&
        Objects.equals(this.quantity, EDR.quantity) &&
        Objects.equals(this.parameter1, EDR.parameter1) &&
        Objects.equals(this.parameter2, EDR.parameter2) &&
        Objects.equals(this.parameter3, EDR.parameter3) &&
        Objects.equals(this.parameter4, EDR.parameter4) &&
        Objects.equals(this.parameter5, EDR.parameter5) &&
        Objects.equals(this.parameter6, EDR.parameter6) &&
        Objects.equals(this.parameter7, EDR.parameter7) &&
        Objects.equals(this.parameter8, EDR.parameter8) &&
        Objects.equals(this.parameter9, EDR.parameter9) &&
        Objects.equals(this.dateParam1, EDR.dateParam1) &&
        Objects.equals(this.dateParam2, EDR.dateParam2) &&
        Objects.equals(this.dateParam3, EDR.dateParam3) &&
        Objects.equals(this.dateParam4, EDR.dateParam4) &&
        Objects.equals(this.dateParam5, EDR.dateParam5) &&
        Objects.equals(this.decimalParam1, EDR.decimalParam1) &&
        Objects.equals(this.decimalParam2, EDR.decimalParam2) &&
        Objects.equals(this.decimalParam3, EDR.decimalParam3) &&
        Objects.equals(this.decimalParam4, EDR.decimalParam4) &&
        Objects.equals(this.decimalParam5, EDR.decimalParam5) &&
        Objects.equals(this.status, EDR.status) &&
        Objects.equals(this.rejectReason, EDR.rejectReason) &&
        Objects.equals(this.created, EDR.created) &&
        Objects.equals(this.lastUpdate, EDR.lastUpdate) &&
        Objects.equals(this.accessCode, EDR.accessCode) &&
        Objects.equals(this.headerEDR, EDR.headerEDR) &&
        Objects.equals(this.extraParameter, EDR.extraParameter) &&
        Objects.equals(this._transient, EDR._transient);
  }

  @Override
  public int hashCode() {
    return Objects.hash(id, version, subscription, originBatch, originRecord, eventDate, quantity, parameter1, parameter2, parameter3, parameter4, parameter5, parameter6, parameter7, parameter8, parameter9, dateParam1, dateParam2, dateParam3, dateParam4, dateParam5, decimalParam1, decimalParam2, decimalParam3, decimalParam4, decimalParam5, status, rejectReason, created, lastUpdate, accessCode, headerEDR, extraParameter, _transient);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class EDR {\n");
    sb.append("    id: ").append(toIndentedString(id)).append("\n");
    sb.append("    version: ").append(toIndentedString(version)).append("\n");
    sb.append("    subscription: ").append(toIndentedString(subscription)).append("\n");
    sb.append("    originBatch: ").append(toIndentedString(originBatch)).append("\n");
    sb.append("    originRecord: ").append(toIndentedString(originRecord)).append("\n");
    sb.append("    eventDate: ").append(toIndentedString(eventDate)).append("\n");
    sb.append("    quantity: ").append(toIndentedString(quantity)).append("\n");
    sb.append("    parameter1: ").append(toIndentedString(parameter1)).append("\n");
    sb.append("    parameter2: ").append(toIndentedString(parameter2)).append("\n");
    sb.append("    parameter3: ").append(toIndentedString(parameter3)).append("\n");
    sb.append("    parameter4: ").append(toIndentedString(parameter4)).append("\n");
    sb.append("    parameter5: ").append(toIndentedString(parameter5)).append("\n");
    sb.append("    parameter6: ").append(toIndentedString(parameter6)).append("\n");
    sb.append("    parameter7: ").append(toIndentedString(parameter7)).append("\n");
    sb.append("    parameter8: ").append(toIndentedString(parameter8)).append("\n");
    sb.append("    parameter9: ").append(toIndentedString(parameter9)).append("\n");
    sb.append("    dateParam1: ").append(toIndentedString(dateParam1)).append("\n");
    sb.append("    dateParam2: ").append(toIndentedString(dateParam2)).append("\n");
    sb.append("    dateParam3: ").append(toIndentedString(dateParam3)).append("\n");
    sb.append("    dateParam4: ").append(toIndentedString(dateParam4)).append("\n");
    sb.append("    dateParam5: ").append(toIndentedString(dateParam5)).append("\n");
    sb.append("    decimalParam1: ").append(toIndentedString(decimalParam1)).append("\n");
    sb.append("    decimalParam2: ").append(toIndentedString(decimalParam2)).append("\n");
    sb.append("    decimalParam3: ").append(toIndentedString(decimalParam3)).append("\n");
    sb.append("    decimalParam4: ").append(toIndentedString(decimalParam4)).append("\n");
    sb.append("    decimalParam5: ").append(toIndentedString(decimalParam5)).append("\n");
    sb.append("    status: ").append(toIndentedString(status)).append("\n");
    sb.append("    rejectReason: ").append(toIndentedString(rejectReason)).append("\n");
    sb.append("    created: ").append(toIndentedString(created)).append("\n");
    sb.append("    lastUpdate: ").append(toIndentedString(lastUpdate)).append("\n");
    sb.append("    accessCode: ").append(toIndentedString(accessCode)).append("\n");
    sb.append("    headerEDR: ").append(toIndentedString(headerEDR)).append("\n");
    sb.append("    extraParameter: ").append(toIndentedString(extraParameter)).append("\n");
    sb.append("    _transient: ").append(toIndentedString(_transient)).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    ");
  }

}

