001package com.box.sdkgen.managers.trashedfiles;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import java.util.Objects;
007
008@JsonFilter("nullablePropertyFilter")
009public class RestoreFileFromTrashRequestBody extends SerializableObject {
010
011  /** An optional new name for the file. */
012  protected String name;
013
014  protected RestoreFileFromTrashRequestBodyParentField parent;
015
016  public RestoreFileFromTrashRequestBody() {
017    super();
018  }
019
020  protected RestoreFileFromTrashRequestBody(Builder builder) {
021    super();
022    this.name = builder.name;
023    this.parent = builder.parent;
024    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
025  }
026
027  public String getName() {
028    return name;
029  }
030
031  public RestoreFileFromTrashRequestBodyParentField getParent() {
032    return parent;
033  }
034
035  @Override
036  public boolean equals(Object o) {
037    if (this == o) {
038      return true;
039    }
040    if (o == null || getClass() != o.getClass()) {
041      return false;
042    }
043    RestoreFileFromTrashRequestBody casted = (RestoreFileFromTrashRequestBody) o;
044    return Objects.equals(name, casted.name) && Objects.equals(parent, casted.parent);
045  }
046
047  @Override
048  public int hashCode() {
049    return Objects.hash(name, parent);
050  }
051
052  @Override
053  public String toString() {
054    return "RestoreFileFromTrashRequestBody{"
055        + "name='"
056        + name
057        + '\''
058        + ", "
059        + "parent='"
060        + parent
061        + '\''
062        + "}";
063  }
064
065  public static class Builder extends NullableFieldTracker {
066
067    protected String name;
068
069    protected RestoreFileFromTrashRequestBodyParentField parent;
070
071    public Builder name(String name) {
072      this.name = name;
073      return this;
074    }
075
076    public Builder parent(RestoreFileFromTrashRequestBodyParentField parent) {
077      this.parent = parent;
078      return this;
079    }
080
081    public RestoreFileFromTrashRequestBody build() {
082      return new RestoreFileFromTrashRequestBody(this);
083    }
084  }
085}