001package com.box.sdkgen.schemas.v2025r0.docgentemplatebasev2025r0;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.box.sdkgen.schemas.v2025r0.filereferencev2025r0.FileReferenceV2025R0;
006import com.fasterxml.jackson.annotation.JsonFilter;
007import java.util.Objects;
008
009/** A base representation of a Box Doc Gen template, used when nested within another resource. */
010@JsonFilter("nullablePropertyFilter")
011public class DocGenTemplateBaseV2025R0 extends SerializableObject {
012
013  protected FileReferenceV2025R0 file;
014
015  public DocGenTemplateBaseV2025R0() {
016    super();
017  }
018
019  protected DocGenTemplateBaseV2025R0(Builder builder) {
020    super();
021    this.file = builder.file;
022    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
023  }
024
025  public FileReferenceV2025R0 getFile() {
026    return file;
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    DocGenTemplateBaseV2025R0 casted = (DocGenTemplateBaseV2025R0) o;
038    return Objects.equals(file, casted.file);
039  }
040
041  @Override
042  public int hashCode() {
043    return Objects.hash(file);
044  }
045
046  @Override
047  public String toString() {
048    return "DocGenTemplateBaseV2025R0{" + "file='" + file + '\'' + "}";
049  }
050
051  public static class Builder extends NullableFieldTracker {
052
053    protected FileReferenceV2025R0 file;
054
055    public Builder file(FileReferenceV2025R0 file) {
056      this.file = file;
057      return this;
058    }
059
060    public DocGenTemplateBaseV2025R0 build() {
061      return new DocGenTemplateBaseV2025R0(this);
062    }
063  }
064}