<reponame>martintaraz/DBDataPublisherBot
/*
 * Stationsdatenbereitstellung
 * An API providing master data for german railway stations by DB Station&Service AG.
 *
 * OpenAPI spec version: 2.2.01
 * 
 *
 * 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 io.github.martintaraz.dbdatapublisherbot.models.stations;

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.github.martintaraz.dbdatapublisherbot.models.stations.Address;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.IOException;

/**
 * 3-S-Zentralen are 7/24 hours operating centers for german railway stations
 */
@ApiModel(description = "3-S-Zentralen are 7/24 hours operating centers for german railway stations")
@javax.annotation.processing.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2018-12-07T20:50:44.823+01:00")
public class SZentrale {
  @SerializedName("number")
  private Integer number = null;

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

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

  @SerializedName("address")
  private Address address = null;

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

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

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

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

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

  public SZentrale number(Integer number) {
    this.number = number;
    return this;
  }

   /**
   * unique identifier for SZentrale
   * @return number
  **/
  @ApiModelProperty(value = "unique identifier for SZentrale")
  public Integer getNumber() {
    return number;
  }

  public void setNumber(Integer number) {
    this.number = number;
  }

  public SZentrale name(String name) {
    this.name = name;
    return this;
  }

   /**
   * unique identifier of 3SZentrale
   * @return name
  **/
  @ApiModelProperty(value = "unique identifier of 3SZentrale")
  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public SZentrale publicPhoneNumber(String publicPhoneNumber) {
    this.publicPhoneNumber = publicPhoneNumber;
    return this;
  }

   /**
   * Get publicPhoneNumber
   * @return publicPhoneNumber
  **/
  @ApiModelProperty(value = "")
  public String getPublicPhoneNumber() {
    return publicPhoneNumber;
  }

  public void setPublicPhoneNumber(String publicPhoneNumber) {
    this.publicPhoneNumber = publicPhoneNumber;
  }

  public SZentrale address(Address address) {
    this.address = address;
    return this;
  }

   /**
   * Get address
   * @return address
  **/
  @ApiModelProperty(value = "")
  public Address getAddress() {
    return address;
  }

  public void setAddress(Address address) {
    this.address = address;
  }

  public SZentrale publicFaxNumber(String publicFaxNumber) {
    this.publicFaxNumber = publicFaxNumber;
    return this;
  }

   /**
   * public fax number
   * @return publicFaxNumber
  **/
  @ApiModelProperty(value = "public fax number")
  public String getPublicFaxNumber() {
    return publicFaxNumber;
  }

  public void setPublicFaxNumber(String publicFaxNumber) {
    this.publicFaxNumber = publicFaxNumber;
  }

  public SZentrale internalPhoneNumber(String internalPhoneNumber) {
    this.internalPhoneNumber = internalPhoneNumber;
    return this;
  }

   /**
   * internal phone number
   * @return internalPhoneNumber
  **/
  @ApiModelProperty(value = "internal phone number")
  public String getInternalPhoneNumber() {
    return internalPhoneNumber;
  }

  public void setInternalPhoneNumber(String internalPhoneNumber) {
    this.internalPhoneNumber = internalPhoneNumber;
  }

  public SZentrale internalFaxNumber(String internalFaxNumber) {
    this.internalFaxNumber = internalFaxNumber;
    return this;
  }

   /**
   * internal fax number
   * @return internalFaxNumber
  **/
  @ApiModelProperty(value = "internal fax number")
  public String getInternalFaxNumber() {
    return internalFaxNumber;
  }

  public void setInternalFaxNumber(String internalFaxNumber) {
    this.internalFaxNumber = internalFaxNumber;
  }

  public SZentrale mobilePhoneNumber(String mobilePhoneNumber) {
    this.mobilePhoneNumber = mobilePhoneNumber;
    return this;
  }

   /**
   * mobile phone number (no longer supported!)
   * @return mobilePhoneNumber
  **/
  @ApiModelProperty(value = "mobile phone number (no longer supported!)")
  public String getMobilePhoneNumber() {
    return mobilePhoneNumber;
  }

  public void setMobilePhoneNumber(String mobilePhoneNumber) {
    this.mobilePhoneNumber = mobilePhoneNumber;
  }

  public SZentrale email(String email) {
    this.email = email;
    return this;
  }

   /**
   * email adress of the 3-S-Zentrale (no longer supported!)
   * @return email
  **/
  @ApiModelProperty(value = "email adress of the 3-S-Zentrale (no longer supported!)")
  public String getEmail() {
    return email;
  }

  public void setEmail(String email) {
    this.email = email;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    SZentrale szentrale = (SZentrale) o;
    return Objects.equals(this.number, szentrale.number) &&
        Objects.equals(this.name, szentrale.name) &&
        Objects.equals(this.publicPhoneNumber, szentrale.publicPhoneNumber) &&
        Objects.equals(this.address, szentrale.address) &&
        Objects.equals(this.publicFaxNumber, szentrale.publicFaxNumber) &&
        Objects.equals(this.internalPhoneNumber, szentrale.internalPhoneNumber) &&
        Objects.equals(this.internalFaxNumber, szentrale.internalFaxNumber) &&
        Objects.equals(this.mobilePhoneNumber, szentrale.mobilePhoneNumber) &&
        Objects.equals(this.email, szentrale.email);
  }

  @Override
  public int hashCode() {
    return Objects.hash(number, name, publicPhoneNumber, address, publicFaxNumber, internalPhoneNumber, internalFaxNumber, mobilePhoneNumber, email);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class SZentrale {\n");
    
    sb.append("    number: ").append(toIndentedString(number)).append("\n");
    sb.append("    name: ").append(toIndentedString(name)).append("\n");
    sb.append("    publicPhoneNumber: ").append(toIndentedString(publicPhoneNumber)).append("\n");
    sb.append("    address: ").append(toIndentedString(address)).append("\n");
    sb.append("    publicFaxNumber: ").append(toIndentedString(publicFaxNumber)).append("\n");
    sb.append("    internalPhoneNumber: ").append(toIndentedString(internalPhoneNumber)).append("\n");
    sb.append("    internalFaxNumber: ").append(toIndentedString(internalFaxNumber)).append("\n");
    sb.append("    mobilePhoneNumber: ").append(toIndentedString(mobilePhoneNumber)).append("\n");
    sb.append("    email: ").append(toIndentedString(email)).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    ");
  }

}

