001package com.box.sdkgen.schemas.uploadedpart;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.box.sdkgen.schemas.uploadpart.UploadPart;
006import com.fasterxml.jackson.annotation.JsonFilter;
007import java.util.Objects;
008
009/** A chunk of a file uploaded as part of an upload session, as returned by some endpoints. */
010@JsonFilter("nullablePropertyFilter")
011public class UploadedPart extends SerializableObject {
012
013  protected UploadPart part;
014
015  public UploadedPart() {
016    super();
017  }
018
019  protected UploadedPart(Builder builder) {
020    super();
021    this.part = builder.part;
022    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
023  }
024
025  public UploadPart getPart() {
026    return part;
027  }
028
029  @Override
030  public boolean equals(Object o) {
031    if (this == o) {
032      return true;
033    }
034    if (o == null || getClass() != o.getClass()) {
035      return false;
036    }
037    UploadedPart casted = (UploadedPart) o;
038    return Objects.equals(part, casted.part);
039  }
040
041  @Override
042  public int hashCode() {
043    return Objects.hash(part);
044  }
045
046  @Override
047  public String toString() {
048    return "UploadedPart{" + "part='" + part + '\'' + "}";
049  }
050
051  public static class Builder extends NullableFieldTracker {
052
053    protected UploadPart part;
054
055    public Builder part(UploadPart part) {
056      this.part = part;
057      return this;
058    }
059
060    public UploadedPart build() {
061      return new UploadedPart(this);
062    }
063  }
064}