001package com.box.sdkgen.schemas.signtemplate;
002
003import com.box.sdkgen.internal.Nullable;
004import com.box.sdkgen.internal.NullableFieldTracker;
005import com.box.sdkgen.internal.SerializableObject;
006import com.fasterxml.jackson.annotation.JsonFilter;
007import com.fasterxml.jackson.annotation.JsonProperty;
008import java.util.Objects;
009
010@JsonFilter("nullablePropertyFilter")
011public class SignTemplateCustomBrandingField extends SerializableObject {
012
013  /** Name of the company. */
014  @JsonProperty("company_name")
015  @Nullable
016  protected String companyName;
017
018  /** Custom branding logo URI in the form of a base64 image. */
019  @JsonProperty("logo_uri")
020  @Nullable
021  protected String logoUri;
022
023  /** Custom branding color in hex. */
024  @JsonProperty("branding_color")
025  @Nullable
026  protected String brandingColor;
027
028  /** Content of the email footer. */
029  @JsonProperty("email_footer_text")
030  @Nullable
031  protected String emailFooterText;
032
033  public SignTemplateCustomBrandingField() {
034    super();
035  }
036
037  protected SignTemplateCustomBrandingField(Builder builder) {
038    super();
039    this.companyName = builder.companyName;
040    this.logoUri = builder.logoUri;
041    this.brandingColor = builder.brandingColor;
042    this.emailFooterText = builder.emailFooterText;
043    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
044  }
045
046  public String getCompanyName() {
047    return companyName;
048  }
049
050  public String getLogoUri() {
051    return logoUri;
052  }
053
054  public String getBrandingColor() {
055    return brandingColor;
056  }
057
058  public String getEmailFooterText() {
059    return emailFooterText;
060  }
061
062  @Override
063  public boolean equals(Object o) {
064    if (this == o) {
065      return true;
066    }
067    if (o == null || getClass() != o.getClass()) {
068      return false;
069    }
070    SignTemplateCustomBrandingField casted = (SignTemplateCustomBrandingField) o;
071    return Objects.equals(companyName, casted.companyName)
072        && Objects.equals(logoUri, casted.logoUri)
073        && Objects.equals(brandingColor, casted.brandingColor)
074        && Objects.equals(emailFooterText, casted.emailFooterText);
075  }
076
077  @Override
078  public int hashCode() {
079    return Objects.hash(companyName, logoUri, brandingColor, emailFooterText);
080  }
081
082  @Override
083  public String toString() {
084    return "SignTemplateCustomBrandingField{"
085        + "companyName='"
086        + companyName
087        + '\''
088        + ", "
089        + "logoUri='"
090        + logoUri
091        + '\''
092        + ", "
093        + "brandingColor='"
094        + brandingColor
095        + '\''
096        + ", "
097        + "emailFooterText='"
098        + emailFooterText
099        + '\''
100        + "}";
101  }
102
103  public static class Builder extends NullableFieldTracker {
104
105    protected String companyName;
106
107    protected String logoUri;
108
109    protected String brandingColor;
110
111    protected String emailFooterText;
112
113    public Builder companyName(String companyName) {
114      this.companyName = companyName;
115      this.markNullableFieldAsSet("company_name");
116      return this;
117    }
118
119    public Builder logoUri(String logoUri) {
120      this.logoUri = logoUri;
121      this.markNullableFieldAsSet("logo_uri");
122      return this;
123    }
124
125    public Builder brandingColor(String brandingColor) {
126      this.brandingColor = brandingColor;
127      this.markNullableFieldAsSet("branding_color");
128      return this;
129    }
130
131    public Builder emailFooterText(String emailFooterText) {
132      this.emailFooterText = emailFooterText;
133      this.markNullableFieldAsSet("email_footer_text");
134      return this;
135    }
136
137    public SignTemplateCustomBrandingField build() {
138      return new SignTemplateCustomBrandingField(this);
139    }
140  }
141}