001package com.box.sdkgen.schemas.metadataerror;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import com.fasterxml.jackson.annotation.JsonProperty;
007import java.util.Objects;
008
009/** A generic metadata operation error. */
010@JsonFilter("nullablePropertyFilter")
011public class MetadataError extends SerializableObject {
012
013  /** A Box-specific error code. */
014  protected String code;
015
016  /** A short message describing the error. */
017  protected String message;
018
019  /** A unique identifier for this response, which can be used when contacting Box support. */
020  @JsonProperty("request_id")
021  protected String requestId;
022
023  public MetadataError() {
024    super();
025  }
026
027  protected MetadataError(Builder builder) {
028    super();
029    this.code = builder.code;
030    this.message = builder.message;
031    this.requestId = builder.requestId;
032    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
033  }
034
035  public String getCode() {
036    return code;
037  }
038
039  public String getMessage() {
040    return message;
041  }
042
043  public String getRequestId() {
044    return requestId;
045  }
046
047  @Override
048  public boolean equals(Object o) {
049    if (this == o) {
050      return true;
051    }
052    if (o == null || getClass() != o.getClass()) {
053      return false;
054    }
055    MetadataError casted = (MetadataError) o;
056    return Objects.equals(code, casted.code)
057        && Objects.equals(message, casted.message)
058        && Objects.equals(requestId, casted.requestId);
059  }
060
061  @Override
062  public int hashCode() {
063    return Objects.hash(code, message, requestId);
064  }
065
066  @Override
067  public String toString() {
068    return "MetadataError{"
069        + "code='"
070        + code
071        + '\''
072        + ", "
073        + "message='"
074        + message
075        + '\''
076        + ", "
077        + "requestId='"
078        + requestId
079        + '\''
080        + "}";
081  }
082
083  public static class Builder extends NullableFieldTracker {
084
085    protected String code;
086
087    protected String message;
088
089    protected String requestId;
090
091    public Builder code(String code) {
092      this.code = code;
093      return this;
094    }
095
096    public Builder message(String message) {
097      this.message = message;
098      return this;
099    }
100
101    public Builder requestId(String requestId) {
102      this.requestId = requestId;
103      return this;
104    }
105
106    public MetadataError build() {
107      return new MetadataError(this);
108    }
109  }
110}