/*
 * 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;

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

  public static final String SERIALIZED_NAME_DISPLAY_SERVICES = "displayServices";
  @SerializedName(SERIALIZED_NAME_DISPLAY_SERVICES)
  private Boolean displayServices;

  public static final String SERIALIZED_NAME_DISPLAY_OFFERS = "displayOffers";
  @SerializedName(SERIALIZED_NAME_DISPLAY_OFFERS)
  private Boolean displayOffers;

  public static final String SERIALIZED_NAME_DISPLAY_EDRS = "displayEdrs";
  @SerializedName(SERIALIZED_NAME_DISPLAY_EDRS)
  private Boolean displayEdrs;

  public static final String SERIALIZED_NAME_DISPLAY_PROVIDER = "displayProvider";
  @SerializedName(SERIALIZED_NAME_DISPLAY_PROVIDER)
  private Boolean displayProvider;

  public static final String SERIALIZED_NAME_DISPLAY_CF_AS_X_M_L = "displayCfAsXML";
  @SerializedName(SERIALIZED_NAME_DISPLAY_CF_AS_X_M_L)
  private Boolean displayCfAsXML;

  public static final String SERIALIZED_NAME_DISPLAY_PRICE_PLANS = "displayPricePlans";
  @SerializedName(SERIALIZED_NAME_DISPLAY_PRICE_PLANS)
  private Boolean displayPricePlans;

  public static final String SERIALIZED_NAME_DISPLAY_DETAIL = "displayDetail";
  @SerializedName(SERIALIZED_NAME_DISPLAY_DETAIL)
  private Boolean displayDetail;

  public static final String SERIALIZED_NAME_DISPLAY_CHARGES_PERIODS = "displayChargesPeriods";
  @SerializedName(SERIALIZED_NAME_DISPLAY_CHARGES_PERIODS)
  private Boolean displayChargesPeriods;

  public static final String SERIALIZED_NAME_DISPLAY_BILLING_CYCLE = "displayBillingCycle";
  @SerializedName(SERIALIZED_NAME_DISPLAY_BILLING_CYCLE)
  private Boolean displayBillingCycle;

  public static final String SERIALIZED_NAME_DISPLAY_FREE_TRANSAC_IN_INVOICE = "displayFreeTransacInInvoice";
  @SerializedName(SERIALIZED_NAME_DISPLAY_FREE_TRANSAC_IN_INVOICE)
  private Boolean displayFreeTransacInInvoice;

  public static final String SERIALIZED_NAME_DISPLAY_ORDERS = "displayOrders";
  @SerializedName(SERIALIZED_NAME_DISPLAY_ORDERS)
  private Boolean displayOrders;

  public static final String SERIALIZED_NAME_CURRENT_INVOICE_NB = "currentInvoiceNb";
  @SerializedName(SERIALIZED_NAME_CURRENT_INVOICE_NB)
  private Long currentInvoiceNb;


  public InvoiceConfigurationDto displaySubscriptions(Boolean displaySubscriptions) {
    
    this.displaySubscriptions = displaySubscriptions;
    return this;
  }

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

  public Boolean getDisplaySubscriptions() {
    return displaySubscriptions;
  }



  public void setDisplaySubscriptions(Boolean displaySubscriptions) {
    this.displaySubscriptions = displaySubscriptions;
  }


  public InvoiceConfigurationDto displayServices(Boolean displayServices) {
    
    this.displayServices = displayServices;
    return this;
  }

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

  public Boolean getDisplayServices() {
    return displayServices;
  }



  public void setDisplayServices(Boolean displayServices) {
    this.displayServices = displayServices;
  }


  public InvoiceConfigurationDto displayOffers(Boolean displayOffers) {
    
    this.displayOffers = displayOffers;
    return this;
  }

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

  public Boolean getDisplayOffers() {
    return displayOffers;
  }



  public void setDisplayOffers(Boolean displayOffers) {
    this.displayOffers = displayOffers;
  }


  public InvoiceConfigurationDto displayEdrs(Boolean displayEdrs) {
    
    this.displayEdrs = displayEdrs;
    return this;
  }

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

  public Boolean getDisplayEdrs() {
    return displayEdrs;
  }



  public void setDisplayEdrs(Boolean displayEdrs) {
    this.displayEdrs = displayEdrs;
  }


  public InvoiceConfigurationDto displayProvider(Boolean displayProvider) {
    
    this.displayProvider = displayProvider;
    return this;
  }

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

  public Boolean getDisplayProvider() {
    return displayProvider;
  }



  public void setDisplayProvider(Boolean displayProvider) {
    this.displayProvider = displayProvider;
  }


  public InvoiceConfigurationDto displayCfAsXML(Boolean displayCfAsXML) {
    
    this.displayCfAsXML = displayCfAsXML;
    return this;
  }

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

  public Boolean getDisplayCfAsXML() {
    return displayCfAsXML;
  }



  public void setDisplayCfAsXML(Boolean displayCfAsXML) {
    this.displayCfAsXML = displayCfAsXML;
  }


  public InvoiceConfigurationDto displayPricePlans(Boolean displayPricePlans) {
    
    this.displayPricePlans = displayPricePlans;
    return this;
  }

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

  public Boolean getDisplayPricePlans() {
    return displayPricePlans;
  }



  public void setDisplayPricePlans(Boolean displayPricePlans) {
    this.displayPricePlans = displayPricePlans;
  }


  public InvoiceConfigurationDto displayDetail(Boolean displayDetail) {
    
    this.displayDetail = displayDetail;
    return this;
  }

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

  public Boolean getDisplayDetail() {
    return displayDetail;
  }



  public void setDisplayDetail(Boolean displayDetail) {
    this.displayDetail = displayDetail;
  }


  public InvoiceConfigurationDto displayChargesPeriods(Boolean displayChargesPeriods) {
    
    this.displayChargesPeriods = displayChargesPeriods;
    return this;
  }

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

  public Boolean getDisplayChargesPeriods() {
    return displayChargesPeriods;
  }



  public void setDisplayChargesPeriods(Boolean displayChargesPeriods) {
    this.displayChargesPeriods = displayChargesPeriods;
  }


  public InvoiceConfigurationDto displayBillingCycle(Boolean displayBillingCycle) {
    
    this.displayBillingCycle = displayBillingCycle;
    return this;
  }

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

  public Boolean getDisplayBillingCycle() {
    return displayBillingCycle;
  }



  public void setDisplayBillingCycle(Boolean displayBillingCycle) {
    this.displayBillingCycle = displayBillingCycle;
  }


  public InvoiceConfigurationDto displayFreeTransacInInvoice(Boolean displayFreeTransacInInvoice) {
    
    this.displayFreeTransacInInvoice = displayFreeTransacInInvoice;
    return this;
  }

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

  public Boolean getDisplayFreeTransacInInvoice() {
    return displayFreeTransacInInvoice;
  }



  public void setDisplayFreeTransacInInvoice(Boolean displayFreeTransacInInvoice) {
    this.displayFreeTransacInInvoice = displayFreeTransacInInvoice;
  }


  public InvoiceConfigurationDto displayOrders(Boolean displayOrders) {
    
    this.displayOrders = displayOrders;
    return this;
  }

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

  public Boolean getDisplayOrders() {
    return displayOrders;
  }



  public void setDisplayOrders(Boolean displayOrders) {
    this.displayOrders = displayOrders;
  }


  public InvoiceConfigurationDto currentInvoiceNb(Long currentInvoiceNb) {
    
    this.currentInvoiceNb = currentInvoiceNb;
    return this;
  }

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

  public Long getCurrentInvoiceNb() {
    return currentInvoiceNb;
  }



  public void setCurrentInvoiceNb(Long currentInvoiceNb) {
    this.currentInvoiceNb = currentInvoiceNb;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    InvoiceConfigurationDto invoiceConfigurationDto = (InvoiceConfigurationDto) o;
    return Objects.equals(this.displaySubscriptions, invoiceConfigurationDto.displaySubscriptions) &&
        Objects.equals(this.displayServices, invoiceConfigurationDto.displayServices) &&
        Objects.equals(this.displayOffers, invoiceConfigurationDto.displayOffers) &&
        Objects.equals(this.displayEdrs, invoiceConfigurationDto.displayEdrs) &&
        Objects.equals(this.displayProvider, invoiceConfigurationDto.displayProvider) &&
        Objects.equals(this.displayCfAsXML, invoiceConfigurationDto.displayCfAsXML) &&
        Objects.equals(this.displayPricePlans, invoiceConfigurationDto.displayPricePlans) &&
        Objects.equals(this.displayDetail, invoiceConfigurationDto.displayDetail) &&
        Objects.equals(this.displayChargesPeriods, invoiceConfigurationDto.displayChargesPeriods) &&
        Objects.equals(this.displayBillingCycle, invoiceConfigurationDto.displayBillingCycle) &&
        Objects.equals(this.displayFreeTransacInInvoice, invoiceConfigurationDto.displayFreeTransacInInvoice) &&
        Objects.equals(this.displayOrders, invoiceConfigurationDto.displayOrders) &&
        Objects.equals(this.currentInvoiceNb, invoiceConfigurationDto.currentInvoiceNb);
  }

  @Override
  public int hashCode() {
    return Objects.hash(displaySubscriptions, displayServices, displayOffers, displayEdrs, displayProvider, displayCfAsXML, displayPricePlans, displayDetail, displayChargesPeriods, displayBillingCycle, displayFreeTransacInInvoice, displayOrders, currentInvoiceNb);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class InvoiceConfigurationDto {\n");
    sb.append("    displaySubscriptions: ").append(toIndentedString(displaySubscriptions)).append("\n");
    sb.append("    displayServices: ").append(toIndentedString(displayServices)).append("\n");
    sb.append("    displayOffers: ").append(toIndentedString(displayOffers)).append("\n");
    sb.append("    displayEdrs: ").append(toIndentedString(displayEdrs)).append("\n");
    sb.append("    displayProvider: ").append(toIndentedString(displayProvider)).append("\n");
    sb.append("    displayCfAsXML: ").append(toIndentedString(displayCfAsXML)).append("\n");
    sb.append("    displayPricePlans: ").append(toIndentedString(displayPricePlans)).append("\n");
    sb.append("    displayDetail: ").append(toIndentedString(displayDetail)).append("\n");
    sb.append("    displayChargesPeriods: ").append(toIndentedString(displayChargesPeriods)).append("\n");
    sb.append("    displayBillingCycle: ").append(toIndentedString(displayBillingCycle)).append("\n");
    sb.append("    displayFreeTransacInInvoice: ").append(toIndentedString(displayFreeTransacInInvoice)).append("\n");
    sb.append("    displayOrders: ").append(toIndentedString(displayOrders)).append("\n");
    sb.append("    currentInvoiceNb: ").append(toIndentedString(currentInvoiceNb)).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    ");
  }

}

