001package com.box.sdkgen.schemas.conflicterror;
002
003import com.box.sdkgen.schemas.clienterror.ClientError;
004import com.box.sdkgen.schemas.clienterror.ClientErrorCodeField;
005import com.box.sdkgen.schemas.clienterror.ClientErrorTypeField;
006import com.box.sdkgen.serialization.json.EnumWrapper;
007import com.fasterxml.jackson.annotation.JsonFilter;
008import java.util.Map;
009import java.util.Objects;
010
011/** The error that occurs when a file can not be created due to a conflict. */
012@JsonFilter("nullablePropertyFilter")
013public class ConflictError extends ClientError {
014
015  public ConflictError() {
016    super();
017  }
018
019  protected ConflictError(Builder builder) {
020    super(builder);
021    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
022  }
023
024  @Override
025  public boolean equals(Object o) {
026    if (this == o) {
027      return true;
028    }
029    if (o == null || getClass() != o.getClass()) {
030      return false;
031    }
032    ConflictError casted = (ConflictError) o;
033    return Objects.equals(type, casted.type)
034        && Objects.equals(status, casted.status)
035        && Objects.equals(code, casted.code)
036        && Objects.equals(message, casted.message)
037        && Objects.equals(contextInfo, casted.contextInfo)
038        && Objects.equals(helpUrl, casted.helpUrl)
039        && Objects.equals(requestId, casted.requestId);
040  }
041
042  @Override
043  public int hashCode() {
044    return Objects.hash(type, status, code, message, contextInfo, helpUrl, requestId);
045  }
046
047  @Override
048  public String toString() {
049    return "ConflictError{"
050        + "type='"
051        + type
052        + '\''
053        + ", "
054        + "status='"
055        + status
056        + '\''
057        + ", "
058        + "code='"
059        + code
060        + '\''
061        + ", "
062        + "message='"
063        + message
064        + '\''
065        + ", "
066        + "contextInfo='"
067        + contextInfo
068        + '\''
069        + ", "
070        + "helpUrl='"
071        + helpUrl
072        + '\''
073        + ", "
074        + "requestId='"
075        + requestId
076        + '\''
077        + "}";
078  }
079
080  public static class Builder extends ClientError.Builder {
081
082    @Override
083    public Builder type(ClientErrorTypeField type) {
084      this.type = new EnumWrapper<ClientErrorTypeField>(type);
085      return this;
086    }
087
088    @Override
089    public Builder type(EnumWrapper<ClientErrorTypeField> type) {
090      this.type = type;
091      return this;
092    }
093
094    @Override
095    public Builder status(Integer status) {
096      this.status = status;
097      return this;
098    }
099
100    @Override
101    public Builder code(ClientErrorCodeField code) {
102      this.code = new EnumWrapper<ClientErrorCodeField>(code);
103      return this;
104    }
105
106    @Override
107    public Builder code(EnumWrapper<ClientErrorCodeField> code) {
108      this.code = code;
109      return this;
110    }
111
112    @Override
113    public Builder message(String message) {
114      this.message = message;
115      return this;
116    }
117
118    @Override
119    public Builder contextInfo(Map<String, Object> contextInfo) {
120      this.contextInfo = contextInfo;
121      this.markNullableFieldAsSet("context_info");
122      return this;
123    }
124
125    @Override
126    public Builder helpUrl(String helpUrl) {
127      this.helpUrl = helpUrl;
128      return this;
129    }
130
131    @Override
132    public Builder requestId(String requestId) {
133      this.requestId = requestId;
134      return this;
135    }
136
137    public ConflictError build() {
138      return new ConflictError(this);
139    }
140  }
141}