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

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

  public static final String SERIALIZED_NAME_CODE = "code";
  @SerializedName(SERIALIZED_NAME_CODE)
  private String code;

  public static final String SERIALIZED_NAME_DESCRIPTION = "description";
  @SerializedName(SERIALIZED_NAME_DESCRIPTION)
  private String description;

  public static final String SERIALIZED_NAME_UPDATED_CODE = "updatedCode";
  @SerializedName(SERIALIZED_NAME_UPDATED_CODE)
  private String updatedCode;

  public static final String SERIALIZED_NAME_CONTENT_LENGTH = "contentLength";
  @SerializedName(SERIALIZED_NAME_CONTENT_LENGTH)
  private Integer contentLength;

  public static final String SERIALIZED_NAME_CONTENT_TYPE = "contentType";
  @SerializedName(SERIALIZED_NAME_CONTENT_TYPE)
  private String contentType;

  public static final String SERIALIZED_NAME_PROTOCOL = "protocol";
  @SerializedName(SERIALIZED_NAME_PROTOCOL)
  private String protocol;

  public static final String SERIALIZED_NAME_SCHEME = "scheme";
  @SerializedName(SERIALIZED_NAME_SCHEME)
  private String scheme;

  public static final String SERIALIZED_NAME_REMOTE_ADDR = "remoteAddr";
  @SerializedName(SERIALIZED_NAME_REMOTE_ADDR)
  private String remoteAddr;

  public static final String SERIALIZED_NAME_REMOTE_PORT = "remotePort";
  @SerializedName(SERIALIZED_NAME_REMOTE_PORT)
  private Integer remotePort;

  public static final String SERIALIZED_NAME_METHOD = "method";
  @SerializedName(SERIALIZED_NAME_METHOD)
  private String method;

  public static final String SERIALIZED_NAME_AUTH_TYPE = "authType";
  @SerializedName(SERIALIZED_NAME_AUTH_TYPE)
  private String authType;

  public static final String SERIALIZED_NAME_PATH_INFO = "pathInfo";
  @SerializedName(SERIALIZED_NAME_PATH_INFO)
  private String pathInfo;

  public static final String SERIALIZED_NAME_REQUEST_U_R_I = "requestURI";
  @SerializedName(SERIALIZED_NAME_REQUEST_U_R_I)
  private String requestURI;

  public static final String SERIALIZED_NAME_RESPONSE_CONTENT_TYPE = "responseContentType";
  @SerializedName(SERIALIZED_NAME_RESPONSE_CONTENT_TYPE)
  private String responseContentType;

  public static final String SERIALIZED_NAME_RESPONSE_ENCODING = "responseEncoding";
  @SerializedName(SERIALIZED_NAME_RESPONSE_ENCODING)
  private String responseEncoding;


  public InboundRequestDto 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 InboundRequestDto code(String code) {
    
    this.code = code;
    return this;
  }

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

  public String getCode() {
    return code;
  }



  public void setCode(String code) {
    this.code = code;
  }


  public InboundRequestDto description(String description) {
    
    this.description = description;
    return this;
  }

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

  public String getDescription() {
    return description;
  }



  public void setDescription(String description) {
    this.description = description;
  }


  public InboundRequestDto updatedCode(String updatedCode) {
    
    this.updatedCode = updatedCode;
    return this;
  }

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

  public String getUpdatedCode() {
    return updatedCode;
  }



  public void setUpdatedCode(String updatedCode) {
    this.updatedCode = updatedCode;
  }


  public InboundRequestDto contentLength(Integer contentLength) {
    
    this.contentLength = contentLength;
    return this;
  }

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

  public Integer getContentLength() {
    return contentLength;
  }



  public void setContentLength(Integer contentLength) {
    this.contentLength = contentLength;
  }


  public InboundRequestDto contentType(String contentType) {
    
    this.contentType = contentType;
    return this;
  }

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

  public String getContentType() {
    return contentType;
  }



  public void setContentType(String contentType) {
    this.contentType = contentType;
  }


  public InboundRequestDto protocol(String protocol) {
    
    this.protocol = protocol;
    return this;
  }

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

  public String getProtocol() {
    return protocol;
  }



  public void setProtocol(String protocol) {
    this.protocol = protocol;
  }


  public InboundRequestDto scheme(String scheme) {
    
    this.scheme = scheme;
    return this;
  }

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

  public String getScheme() {
    return scheme;
  }



  public void setScheme(String scheme) {
    this.scheme = scheme;
  }


  public InboundRequestDto remoteAddr(String remoteAddr) {
    
    this.remoteAddr = remoteAddr;
    return this;
  }

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

  public String getRemoteAddr() {
    return remoteAddr;
  }



  public void setRemoteAddr(String remoteAddr) {
    this.remoteAddr = remoteAddr;
  }


  public InboundRequestDto remotePort(Integer remotePort) {
    
    this.remotePort = remotePort;
    return this;
  }

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

  public Integer getRemotePort() {
    return remotePort;
  }



  public void setRemotePort(Integer remotePort) {
    this.remotePort = remotePort;
  }


  public InboundRequestDto method(String method) {
    
    this.method = method;
    return this;
  }

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

  public String getMethod() {
    return method;
  }



  public void setMethod(String method) {
    this.method = method;
  }


  public InboundRequestDto authType(String authType) {
    
    this.authType = authType;
    return this;
  }

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

  public String getAuthType() {
    return authType;
  }



  public void setAuthType(String authType) {
    this.authType = authType;
  }


  public InboundRequestDto pathInfo(String pathInfo) {
    
    this.pathInfo = pathInfo;
    return this;
  }

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

  public String getPathInfo() {
    return pathInfo;
  }



  public void setPathInfo(String pathInfo) {
    this.pathInfo = pathInfo;
  }


  public InboundRequestDto requestURI(String requestURI) {
    
    this.requestURI = requestURI;
    return this;
  }

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

  public String getRequestURI() {
    return requestURI;
  }



  public void setRequestURI(String requestURI) {
    this.requestURI = requestURI;
  }


  public InboundRequestDto responseContentType(String responseContentType) {
    
    this.responseContentType = responseContentType;
    return this;
  }

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

  public String getResponseContentType() {
    return responseContentType;
  }



  public void setResponseContentType(String responseContentType) {
    this.responseContentType = responseContentType;
  }


  public InboundRequestDto responseEncoding(String responseEncoding) {
    
    this.responseEncoding = responseEncoding;
    return this;
  }

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

  public String getResponseEncoding() {
    return responseEncoding;
  }



  public void setResponseEncoding(String responseEncoding) {
    this.responseEncoding = responseEncoding;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    InboundRequestDto inboundRequestDto = (InboundRequestDto) o;
    return Objects.equals(this.id, inboundRequestDto.id) &&
        Objects.equals(this.code, inboundRequestDto.code) &&
        Objects.equals(this.description, inboundRequestDto.description) &&
        Objects.equals(this.updatedCode, inboundRequestDto.updatedCode) &&
        Objects.equals(this.contentLength, inboundRequestDto.contentLength) &&
        Objects.equals(this.contentType, inboundRequestDto.contentType) &&
        Objects.equals(this.protocol, inboundRequestDto.protocol) &&
        Objects.equals(this.scheme, inboundRequestDto.scheme) &&
        Objects.equals(this.remoteAddr, inboundRequestDto.remoteAddr) &&
        Objects.equals(this.remotePort, inboundRequestDto.remotePort) &&
        Objects.equals(this.method, inboundRequestDto.method) &&
        Objects.equals(this.authType, inboundRequestDto.authType) &&
        Objects.equals(this.pathInfo, inboundRequestDto.pathInfo) &&
        Objects.equals(this.requestURI, inboundRequestDto.requestURI) &&
        Objects.equals(this.responseContentType, inboundRequestDto.responseContentType) &&
        Objects.equals(this.responseEncoding, inboundRequestDto.responseEncoding);
  }

  @Override
  public int hashCode() {
    return Objects.hash(id, code, description, updatedCode, contentLength, contentType, protocol, scheme, remoteAddr, remotePort, method, authType, pathInfo, requestURI, responseContentType, responseEncoding);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class InboundRequestDto {\n");
    sb.append("    id: ").append(toIndentedString(id)).append("\n");
    sb.append("    code: ").append(toIndentedString(code)).append("\n");
    sb.append("    description: ").append(toIndentedString(description)).append("\n");
    sb.append("    updatedCode: ").append(toIndentedString(updatedCode)).append("\n");
    sb.append("    contentLength: ").append(toIndentedString(contentLength)).append("\n");
    sb.append("    contentType: ").append(toIndentedString(contentType)).append("\n");
    sb.append("    protocol: ").append(toIndentedString(protocol)).append("\n");
    sb.append("    scheme: ").append(toIndentedString(scheme)).append("\n");
    sb.append("    remoteAddr: ").append(toIndentedString(remoteAddr)).append("\n");
    sb.append("    remotePort: ").append(toIndentedString(remotePort)).append("\n");
    sb.append("    method: ").append(toIndentedString(method)).append("\n");
    sb.append("    authType: ").append(toIndentedString(authType)).append("\n");
    sb.append("    pathInfo: ").append(toIndentedString(pathInfo)).append("\n");
    sb.append("    requestURI: ").append(toIndentedString(requestURI)).append("\n");
    sb.append("    responseContentType: ").append(toIndentedString(responseContentType)).append("\n");
    sb.append("    responseEncoding: ").append(toIndentedString(responseEncoding)).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    ");
  }

}

