001package com.box.sdkgen.managers.chunkeduploads;
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@JsonFilter("nullablePropertyFilter")
010public class CreateFileUploadSessionForExistingFileRequestBody extends SerializableObject {
011
012  /** The total number of bytes of the file to be uploaded. */
013  @JsonProperty("file_size")
014  protected final long fileSize;
015
016  /** The optional new name of new file. */
017  @JsonProperty("file_name")
018  protected String fileName;
019
020  public CreateFileUploadSessionForExistingFileRequestBody(
021      @JsonProperty("file_size") long fileSize) {
022    super();
023    this.fileSize = fileSize;
024  }
025
026  protected CreateFileUploadSessionForExistingFileRequestBody(Builder builder) {
027    super();
028    this.fileSize = builder.fileSize;
029    this.fileName = builder.fileName;
030    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
031  }
032
033  public long getFileSize() {
034    return fileSize;
035  }
036
037  public String getFileName() {
038    return fileName;
039  }
040
041  @Override
042  public boolean equals(Object o) {
043    if (this == o) {
044      return true;
045    }
046    if (o == null || getClass() != o.getClass()) {
047      return false;
048    }
049    CreateFileUploadSessionForExistingFileRequestBody casted =
050        (CreateFileUploadSessionForExistingFileRequestBody) o;
051    return Objects.equals(fileSize, casted.fileSize) && Objects.equals(fileName, casted.fileName);
052  }
053
054  @Override
055  public int hashCode() {
056    return Objects.hash(fileSize, fileName);
057  }
058
059  @Override
060  public String toString() {
061    return "CreateFileUploadSessionForExistingFileRequestBody{"
062        + "fileSize='"
063        + fileSize
064        + '\''
065        + ", "
066        + "fileName='"
067        + fileName
068        + '\''
069        + "}";
070  }
071
072  public static class Builder extends NullableFieldTracker {
073
074    protected final long fileSize;
075
076    protected String fileName;
077
078    public Builder(long fileSize) {
079      super();
080      this.fileSize = fileSize;
081    }
082
083    public Builder fileName(String fileName) {
084      this.fileName = fileName;
085      return this;
086    }
087
088    public CreateFileUploadSessionForExistingFileRequestBody build() {
089      return new CreateFileUploadSessionForExistingFileRequestBody(this);
090    }
091  }
092}