001
002package com.commercetools.api.models.error;
003
004import java.time.*;
005import java.util.*;
006
007import com.fasterxml.jackson.annotation.JsonCreator;
008import com.fasterxml.jackson.annotation.JsonProperty;
009import com.fasterxml.jackson.databind.annotation.*;
010
011import io.vrap.rmf.base.client.ModelBase;
012import io.vrap.rmf.base.client.utils.Generated;
013
014import org.apache.commons.lang3.builder.EqualsBuilder;
015import org.apache.commons.lang3.builder.HashCodeBuilder;
016
017/**
018 *  <p>Base representation of an error response containing common fields to all errors.</p>
019 */
020@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
021public class ErrorResponseImpl implements ErrorResponse, ModelBase {
022
023    private Integer statusCode;
024
025    private String message;
026
027    private java.util.List<com.commercetools.api.models.error.ErrorObject> errors;
028
029    /**
030     * create instance with all properties
031     */
032    @JsonCreator
033    ErrorResponseImpl(@JsonProperty("statusCode") final Integer statusCode,
034            @JsonProperty("message") final String message,
035            @JsonProperty("errors") final java.util.List<com.commercetools.api.models.error.ErrorObject> errors) {
036        this.statusCode = statusCode;
037        this.message = message;
038        this.errors = errors;
039    }
040
041    /**
042     * create empty instance
043     */
044    public ErrorResponseImpl() {
045    }
046
047    /**
048     *  <p>HTTP status code corresponding to the error.</p>
049     */
050
051    public Integer getStatusCode() {
052        return this.statusCode;
053    }
054
055    /**
056     *  <p>First error message in the <code>errors</code> array.</p>
057     */
058
059    public String getMessage() {
060        return this.message;
061    }
062
063    /**
064     *  <p>Errors returned for a request.</p>
065     *  <p>A single error response can contain multiple errors if the errors are related to the same HTTP status code such as <code>400</code>.</p>
066     */
067
068    public java.util.List<com.commercetools.api.models.error.ErrorObject> getErrors() {
069        return this.errors;
070    }
071
072    public void setStatusCode(final Integer statusCode) {
073        this.statusCode = statusCode;
074    }
075
076    public void setMessage(final String message) {
077        this.message = message;
078    }
079
080    public void setErrors(final com.commercetools.api.models.error.ErrorObject... errors) {
081        this.errors = new ArrayList<>(Arrays.asList(errors));
082    }
083
084    public void setErrors(final java.util.List<com.commercetools.api.models.error.ErrorObject> errors) {
085        this.errors = errors;
086    }
087
088    @Override
089    public boolean equals(Object o) {
090        if (this == o)
091            return true;
092
093        if (o == null || getClass() != o.getClass())
094            return false;
095
096        ErrorResponseImpl that = (ErrorResponseImpl) o;
097
098        return new EqualsBuilder().append(statusCode, that.statusCode)
099                .append(message, that.message)
100                .append(errors, that.errors)
101                .append(statusCode, that.statusCode)
102                .append(message, that.message)
103                .append(errors, that.errors)
104                .isEquals();
105    }
106
107    @Override
108    public int hashCode() {
109        return new HashCodeBuilder(17, 37).append(statusCode).append(message).append(errors).toHashCode();
110    }
111
112}