001package com.box.sdkgen.managers.fileversions;
002
003import com.box.sdkgen.internal.Nullable;
004import com.box.sdkgen.internal.NullableFieldTracker;
005import com.box.sdkgen.internal.SerializableObject;
006import com.fasterxml.jackson.annotation.JsonFilter;
007import com.fasterxml.jackson.annotation.JsonProperty;
008import java.util.Objects;
009
010@JsonFilter("nullablePropertyFilter")
011public class UpdateFileVersionByIdRequestBody extends SerializableObject {
012
013  /** Set this to `null` to clear the date and restore the file. */
014  @JsonProperty("trashed_at")
015  @Nullable
016  protected String trashedAt;
017
018  public UpdateFileVersionByIdRequestBody() {
019    super();
020  }
021
022  protected UpdateFileVersionByIdRequestBody(Builder builder) {
023    super();
024    this.trashedAt = builder.trashedAt;
025    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
026  }
027
028  public String getTrashedAt() {
029    return trashedAt;
030  }
031
032  @Override
033  public boolean equals(Object o) {
034    if (this == o) {
035      return true;
036    }
037    if (o == null || getClass() != o.getClass()) {
038      return false;
039    }
040    UpdateFileVersionByIdRequestBody casted = (UpdateFileVersionByIdRequestBody) o;
041    return Objects.equals(trashedAt, casted.trashedAt);
042  }
043
044  @Override
045  public int hashCode() {
046    return Objects.hash(trashedAt);
047  }
048
049  @Override
050  public String toString() {
051    return "UpdateFileVersionByIdRequestBody{" + "trashedAt='" + trashedAt + '\'' + "}";
052  }
053
054  public static class Builder extends NullableFieldTracker {
055
056    protected String trashedAt;
057
058    public Builder trashedAt(String trashedAt) {
059      this.trashedAt = trashedAt;
060      this.markNullableFieldAsSet("trashed_at");
061      return this;
062    }
063
064    public UpdateFileVersionByIdRequestBody build() {
065      return new UpdateFileVersionByIdRequestBody(this);
066    }
067  }
068}