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}