/*
 * WSO2 API Manager - Governance
 * This document specifies a **RESTful API** for WSO2 **API Manager** - Governance. 
 *
 * The version of the OpenAPI document: v1.1
 * Contact: architecture@wso2.com
 *
 * 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.wso2.am.integration.clients.governance.api.dto;

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 com.fasterxml.jackson.annotation.JsonCreator;
/**
* ErrorDTO
*/

public class ErrorDTO {
        public static final String SERIALIZED_NAME_CODE = "code";
        @SerializedName(SERIALIZED_NAME_CODE)
            private Long code;

        public static final String SERIALIZED_NAME_MESSAGE = "message";
        @SerializedName(SERIALIZED_NAME_MESSAGE)
            private String message;

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


        public ErrorDTO code(Long code) {
        
        this.code = code;
        return this;
        }

    /**
        * Get code
    * @return code
    **/
      @ApiModelProperty(required = true, value = "")
    
    public Long getCode() {
        return code;
    }


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


        public ErrorDTO message(String message) {
        
        this.message = message;
        return this;
        }

    /**
        * Error message.
    * @return message
    **/
      @ApiModelProperty(required = true, value = "Error message.")
    
    public String getMessage() {
        return message;
    }


    public void setMessage(String message) {
        this.message = message;
    }


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

    /**
        * A detail description about the error message. 
    * @return description
    **/
        @javax.annotation.Nullable
      @ApiModelProperty(value = "A detail description about the error message. ")
    
    public String getDescription() {
        return description;
    }


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


    @Override
    public boolean equals(Object o) {
        if (this == o) {
        return true;
        }
        if (o == null || getClass() != o.getClass()) {
        return false;
        }
            ErrorDTO error = (ErrorDTO) o;
            return Objects.equals(this.code, error.code) &&
            Objects.equals(this.message, error.message) &&
            Objects.equals(this.description, error.description);
    }

    @Override
    public int hashCode() {
        return Objects.hash(code, message, description);
    }


@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ErrorDTO {\n");
    sb.append("    code: ").append(toIndentedString(code)).append("\n");
    sb.append("    message: ").append(toIndentedString(message)).append("\n");
    sb.append("    description: ").append(toIndentedString(description)).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(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n    ");
}

}

